2

私はアプリを持っています (Facebook キャンバス アプリ、Facebook はアプリを iframe に表示します)

ユーザーがリンクをクリックすると、ページを更新できるようにしたいと考えています。

ページを更新するために使用するコードは次のとおりです。

window.location.reload(true);

Firefox では、これは正常に機能し、iframe 内の現在のページのみを更新します。だから私は幸せです。

IE では、ページ全体が更新されるため、ユーザーはアプリの最初に移動します。

どうすればそれを回避できますか?

現在のURLではなく、現在のページを更新したいだけです。

apps.facebook.com/foo/

アプリのURLであり、URL内でユーザーがリンクをクリックしてページに移動し、そのページ内でそのページを更新していくつかのカウンターを更新する必要があります。しかし、私がリフレッシュすると、リクエスト全体がapps.facebook.com/foo/

何か案は?

4

5 に答える 5

5

あなたが使用することができますwindow.location.href = window.location.href

于 2012-06-15T03:51:01.143 に答える
3

http://www.hyperorg.com/blogger/2007/03/24/refresh-an-iframe-in-ie-anyone/に記載されているとおり

HTML

<div id="wrapper"></div>

Javascript

function reload () {
    var fr=document.getElementById('tehframe');
    if(fr!=null) document.getElementById("wrapper").removeChild(fr);
    var iframehtml="<iframe id='tehframe' src=…&gt;</iframe>";
    document.getElementById("wrapper").innerHTML=iframehtml;
}

次にreload()、最初とロードしたいときに呼び出すだけです。

于 2012-06-15T01:07:43.633 に答える
0

iframe の URL を変更し、無意味なパラメーターを URL に追加することで更新を引き起こすことができます。たとえば、foo は foo?bar になります。

于 2012-06-15T01:01:44.387 に答える