|
Facebook では、FBML という HTML サブセットの独自言語で サードパーティの開発者が誰でもアプリケーションを作成できる。 FBML では当初は <script> 要素は利用できなかったが、 現在は暫定仕様ながら FBJS として、JavaScript が利用可能になった。 facebook.com ドメイン内のページ上でフル機能の JavaScript が 利用できてしまうと、セキュリティの問題があるため、 FBJS では安全対策が施された機能制限版の JavaScript となっている。 #こういう仕組みは、どこか穴が出来て #セキュリティホールが見つかるパターンも多いけど #今のところ見ている限りでは問題なさそう。。。 変数名・関数名のプリフィックスまず FBJS では、スクリプト中の全ての変数・function 名に 各アプリケーションごとのプリフィックスが付けられる。 このため window、document などのグローバル変数は取得できない。 また、eval、alert などの JS 標準関数も利用できない。 FBJS で書いたアプリケーション例: var foo = 'Hello'; 実際にブラウザに渡されるコード:
上の例では、a235394XXXX_alert() 関数が未定義なので、エラーとなる。 DOM 操作FBJS でも DOM エレメントの生成〜ページへの描画は可能。 ただし、エレメントのプロパティを直接操作できず、 FBJS 独自のアクセサを利用して制御する。 var image = document.createElement( 'img' ); 詳しくはFBJS DOM objects を参照。 document オブジェクトdocument.createTextNode は利用できない。 document オブジェクトで利用できるのは、 getElementById、createElement、setLocation の3メソッドみ。 getElementById は FBML アプリケーション内の要素のみ検索可能。 createElement は許可された要素のみ作成可能。 document.getElementById = function (id) { FBJS 面白そう。 |
| << 前記事(2007/08/19) | トップへ | 後記事(2007/09/12)>> |
| タイトル (本文) | ブログ名/日時 |
|---|
| 内 容 | ニックネーム/日時 |
|---|
| << 前記事(2007/08/19) | トップへ | 後記事(2007/09/12)>> |