3

電話する

window.location.reload(false) 

ページを更新する JavaScript メソッドで。この呼び出しの後に追加の JavaScript 呼び出しがあります。追加の JavaScript 呼び出しを呼び出す前に、window.location.reload(false) の実行がいつ完了したかを知る方法はありますか?

4

3 に答える 3

3

オンロードする関数を提供するだけです。リロードはロードと同じです。

window.onload = function() { // ...
于 2012-05-11T14:48:24.290 に答える
2

コード行window.location.reload(false)により、ブラウザは現在のページをリロードします-このステートメントの後にスクリプトは実行されません...。

最初のロードでCookieを設定し、その後のロードでCookieの存在を確認して、アクションを実行することができます...疑似コード:

onload = check cookie
if cookie is present
   run function
else
   set cookie
   reload

Cookieの時刻を確認し、一定期間(たとえば、1時間)が経過した後に関数を実行することを選択できます...。

于 2012-05-11T14:47:33.820 に答える
1

ハッシュタグを使用して、ページがリロードされたかどうかを示す変数を設定します。あなたはこのようなことをすることができます:

// Get the hash of the page
var hashstring = window.location.hash.substring(1);
var found = false;

// Do a hash exist?
if (hashstring.length > 0) 
{
    // Split the hash by '&'-sign (in case you have more variables in the hash, as I have)
    var a = hashstring.split("&");

    // Loop through the values
    for (i = 0; i < a.length; i++)
    {
        // Split the string by '=' (key=value format)
        var b = a[i].split("=");

        // If the key is 'reloaded' (which tells us if the page is reloaded)
        if(b[0] == 'reloaded')
        {
            found = true;
        }
    }
}    

if(!found)
{
    location.hash = 'reloaded=true';
    window.location.reload();
}

// Do other stuff, this will only be executed if the page has been reloaded

ハッシュ内の変数を見つけるコードをプロジェクトの別の関数に配置しましたが、簡単にするために、ここに追加しました。これにより、ページがリロードされたかどうかを判断し、リロードされた場合にのみコードを実行できます。

于 2012-05-11T15:01:11.890 に答える