外部 Web ページで css セレクターを見つけるためのツールを作成しています。これは、ターゲット サイトといくつかのコントロール要素を含む iframe を含むプレーンな html ページです。すべてのロジックも jquery を使用して JavaScript で記述されているため、現時点ではサーバー側はありません。
私が直面した問題は、Firefox 26.0 を使用してハンドラー/クラスを iframe ドキュメント要素に追加できないことです。サンプルコード:
iframe.contents().find("*").hover(function() {
console.log("This is " + $(this).get(0).tagName + "element");
}
コンソールに次のエラー メッセージが表示されます: Error: Permission denied to access property 'document'
。確かにセキュリティ機能であることは理解していますが、どうにかして回避する必要があります。
私が試したこと:
- Google Chrome を使用すると、
--disable-web-security
このようなセキュリティ機能をオフにする特別なフラグ ( ) を使用してブラウザを実行できます。それは助けになり、私のツールは期待どおりに機能していますが、正確に Firefox を使用する必要があります。 - アドオンhttps://addons.mozilla.org/en-US/firefox/addon/forcecors/を使用します。まったく役に立ちませんでした。
x-frames-origin header
私もそのツールで追加しようとしましたが、結果はありませんでした。 security.fileuri.strict_origin_policy
Firefox 設定でフラグをオフにします。また、役に立ちませんでした。
多分私は何かを見逃していて、他の回避策/より良い解決策がありますか? どんな助けにも感謝します。
更新: ページと iframe は同じサイトにありません。私のツールは、ローカルの .html ファイル、iframe ソース - 任意のサイト (wikipedia、yahoo など) です。