さて、私はいくつかの変更を加えて、与えられたURLのセットを自動的にリロードするFirefoxアドオンを開発しています。コード全体を表示することはできません。だから、私は私にエラーを与えているコードの部分をコピーして貼り付けました。
このDOMContentLoaded
イベントは、ページが読み込まれるたびにトリガーされると想定されており、適切に実行されます。問題は、新しいタブを開いた場合DOMContentLoaded
、古いタブでイベントがトリガーされないことです。
//Any code here runs only for the first time u start the browser
window.addEventListener("load", function() { myExtension.init(); }, false);
var myExtension = {
init: function()
{
var appcontent = document.getElementById("appcontent");
if(appcontent)
appcontent.addEventListener("DOMContentLoaded", myExtension.onPageLoad, true);
},
onPageLoad: function(aEvent)
{
var doc = aEvent.originalTarget; // doc is document triggered "onload" event
//execute on one the top page (not on iframes)
if ((aEvent.originalTarget.nodeName == '#document') && (aEvent.originalTarget.defaultView.location.href == gBrowser.currentURI.spec))
{setTimeout(function(){showInError(doc.location='about:home'}, 500);}
},
}
簡単な方法で問題を書きたい(英語が下手でごめんなさい)
1)Firefoxを実行すると、タブ(タブ番号1など)が必要に応じて継続的にリロードされます。
2)ページを中断しないでおくと、タブNo.1ページが繰り返し読み込まれます(それが必要です)
3)新しいタブ(たとえばタブ番号2)を開くと、新しいタブ(タブ番号2)が希望どおりに継続的にリロードを開始します。ただし、タブ番号。1はリロードを停止します。
私が欲しいのは、タブ番号1とタブ番号の両方をリロードし続けることです。2.それを行う方法は?私のコードは何が問題なのですか?