1

ページがいつ読み込まれたかを検出するために webview load を使用していますが、一度だけ起動する必要がありますが、何度も起動します。ページが読み込まれるたびに起動しますが、例は 1 回だけです。

webviewload = true;
webview.addEventListener('load', function() {

    if(webviewload){

        //run code to add stuff to webview this will run once
            webview.remove(oldsidebar);
            webview.add(newsidebar);
            webviewload = false;
       }

});

上記は 1 つの webview の読み込みで正常に動作しますが、再度実行すると明らかに false に設定されるため、このコードは 1 回しか実行できません。私にとってはうまくいくハックを見つけましたが、webviewのすべての要素ロード広告などで起動するため、起動を理解しているより良い解決策を探しています。

webviewload = true;
webview.addEventListener('load', function() {

    if(webviewload){

        //run code to add stuff to webview this will run once
            webview.remove(oldsidebar);
            webview.add(newsidebar);
            webviewload = false;
       }

       setTimeout(function(){
        webviewload = true;
    },5000)

});

上記は機能しますが、ページの読み込みに 5 秒以上かかる場合など、問題が発生している場合は理想的ではありません。コードのブロックを正しく実行できるように、webview の読み込みを一度開始してからリセットする方法について、誰かが提案してくれますか。これが理にかなっていることを願っています

4

1 に答える 1

1

そうです、これは、ほとんどのポータル ホームページと同様に、読み込んでいるページが、他のページやスクリプトなどへの ajax 呼び出しでほぼ完全に構成されているためです。これにより、load イベントが発生し、さらに、すべてが読み込まれるまで、もう一度発射します。

これを回避する1つの方法は、ロードイベントをリッスンし、渡された場合にリスナーを強制終了して続行する間隔を設定することだと思います。

于 2012-11-28T13:41:04.737 に答える