ページにiframeを追加するGreasemonkeyスクリプトがあります(ページ1と呼びます)。iframe には別のページが含まれています (ページ 2 と呼びます)。スクリプトはページ 2 でも実行されます。ページ 1 と 2 は異なるドメインにあります。
ページ 2 で実行されているコードがページ 1 の関数を呼び出せるようにしたいと考えています。Greasemonkey コードの制限が低い場合、これは可能ですか?
ページにiframeを追加するGreasemonkeyスクリプトがあります(ページ1と呼びます)。iframe には別のページが含まれています (ページ 2 と呼びます)。スクリプトはページ 2 でも実行されます。ページ 1 と 2 は異なるドメインにあります。
ページ 2 で実行されているコードがページ 1 の関数を呼び出せるようにしたいと考えています。Greasemonkey コードの制限が低い場合、これは可能ですか?
ドメインが異なるため、ブラウザはこれを防ぎます。
フレーム間の通信に使用できるトリックがいくつかあります。
広告3:他のフレームのURLを読み取ることはできませんが、設定することはできます。URLをまったく同じページに変更したが、URLに#anchorコンポーネントが含まれている場合、ページは実際にはリロードされません。
window.frames["childFrame"].location.href = "http://www.somewebsite.com/#message"
次に、そのlocation.hrefを定期的にポーリングしてメッセージを処理するスクリプトを外部ページに追加する必要があります。はい、それは醜いですが、正しく行われれば、それはすべての一般的なブラウザで動作します。