canvas 型アプリの画面リロード注意点

facebook のcanvas型アプリの場合、一般的な方法では
リロードできないこともあるらしいので、メモってみました
画面のリロードを
javascript で行うには
window.location.reload() が一般的
でも、これだと
window は facebook の枠内に表示されている
内部フレームを指してしまい、画面全体リロードはできない
画面全体を指すウィンドウオブジェクト top もあるけど
これもダメ
window.top.location.reload()
top.location.reload()

画面全体のリロードを行おうとしても
facebook により top オブジェクトにアクセスできないようになっているのでNG
さらに、ブラウザの仕様で
内部フレームから歩かのウィンドウオブジェクトにアクセスできないこともあるのでダメ
top.location.href=”ジャンプ先URL”
これもダメ
現在確認できている成功例は
window.open(“ジャンプ先のURL”,”_top”)
として
ターゲットを画面全体としてURLを開くように指示すること
リロードの場合
ジャンプ先のURLは
自分自身のURLを指定するので
http://apps.facebook.com/アプリID
となります
window.top.open(“URL”)
だと
topへのアクセスが失敗するのでダメでした

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です