0

私は Facebook キャンバス アプリケーションに取り組んでおり、ブラウザの戻るボタン、進むボタン、および更新ボタンを ajax 呼び出しで動作させたいと考えています。jquery.address や history.js など、このアクションをサポートする jquery プラグインがいくつかあります。

IE9 (まだ HTML4) の場合、履歴の pushState または replaceState を使用できないため、ハッシュ タグに依存する必要があります。私が 1 つのサイトを完全に所有している場合、これはうまく機能しますが、iFrame が親 (facebook.com) とは異なるドメインにある Facebook のような状況の場合、同じオリジン ポリシーが原因で失われます。

ハッシュを変更してparent.location.hrefを設定することはできますが、ハッシュが変更されたときにiFrame内でイベントを受け取ることができません。

iFrame 内でハッシュを設定しても、IE9 では機能しません。ブラウザーの [戻る] ボタンをクリックすると、iFrame 内で行ったハッシュの変更が無視されます。

誰かが私が間違っていることを見たり、IE9 内にいるだけで、Ajax 呼び出しで iFrame 内からブラウザーボタンを使用することはできませんか? または、iFrame 親から hashchange イベントを受け取る方法はありますか?

ありがとう!

4

1 に答える 1

0

バックスペース ボタンをキャプチャすることをお勧めします。これは、ほとんどの人が戻るために使用し、IE ユーザーには ie9 と同様の特別な戻るボタンのみを作成するため、彼らの本能はそれらを使用することになります。

<!--[if lte IE 9]>
   html code for IE users, explaining why they are ignorant... giving them a back button, catching the backspace key and using that....
<![endif]-->
于 2013-03-07T08:35:42.813 に答える