1

content.document を使用して拡張機能の pageLoad 関数内にいる間、現在のウィンドウを簡単にトラバースできますが、setInterval で呼び出された別の関数でアクセスしようとすると、content.document にアクセスできません。

content.document、document.defaultView、window.content.document、および基本的に考えられる他のすべての賢明な組み合わせを試しました。

助けてください。ありがとう。

4

2 に答える 2

1

次のようにイベントからドキュメントオブジェクトを取得することで、これを機能させました。

   e.target.defaultView.document

イベント オブジェクトは、任意のイベント リスナー関数で使用できます。たとえば、次のようにして、ドキュメントのロード イベントをキャプチャすることができます。

   var appcontent = window.document.getElementById('appcontent');
   appcontent.addEventListener('DOMContentLoaded', onPageLoad, false);

この例では、onPageLoad 関数は、ドキュメントのフェッチに使用できるイベント引数を取得します。

ドキュメント オブジェクトに別の場所からアクセスできるようにするには、それを指すグローバル変数を設定します。jQuery を使用している場合は、これをオプションの 2 番目の引数として $ 関数 (つまり、jQuery が動作するコンテキスト) に渡します。

于 2009-08-19T12:17:17.533 に答える
0

なぜそれがうまくいかないのかわかりません (もっとコードを見る必要があります)。ただし、代わりに を使用することもできますgBrowser.selectedBrowser.contentDocument

于 2009-06-22T20:14:09.690 に答える