2013年12月4日 星期三

偵測 Facebook

Detect If Under Facebook


客人找我們開發的網頁小遊戲,由原本跟 Facebook 沒任何關係,到現在加入了相當多的 Facebook 元素,已經變為一套基本的 Facebook 遊戲。但客人仍然想保留「去 Facebook 化」的版本。作為開發者,管理一套代碼當然比起兩套來得方便;所以某些只在 Facebook 版出現的部份,便要來過檢測。

Facebook 應用一直都是以 iFrame 形式出現。查看了 Facebook 的 Javascript 代碼,發現 iFrame 的名字為「iframe_canvas_fb_https」,只要利用 Javascript 檢查當前的 Window.name 便能判斷是否被 Facebook 包裹著。但為免 Facebook 日後把名字更改而導致失效,還是在檢查上只選出跟 Facebook 有關聯的字眼為好。
var result = "No";

var frameName = window.name;
if (frameName.indexOf("_fb_") >= 0)  {result = "Yes";}
if (frameName.indexOf("facebook") >= 0)  {result = "Yes";}

document.getElementById("resultDiv").innerHTML = "You are under Facebook? "+result;

沒有留言: