5

Chrome 拡張機能で、gmail の作成本文コンテンツを取得しようとしています。

エラーは散発的に飛び出し、動作を妨げません。

これはコンテンツ スクリプトとして実行されています。パーミッションが欠落している場合、エラーは異なり、Chrome によって操作がブロックされるため、パーミッションはここでは問題ではないと思います。

次の行にエラーが表示されます。

encodeURIComponent($canvas.find('iframe').contents().find('body').text());

どこ

var $canvas = $('#canvas_frame').contents();

このエラーに関する情報と可能性のあるターンアラウンドはありますか?ここに画像の説明を入力

4

2 に答える 2

4

JavaScript を使用してクロスサイト コンテンツを読み取ることはできません。Google Chorme の XSS Auditor はこれを許可しません。

http://en.wikipedia.org/wiki/Same_origin_policyをご覧ください。

更新 1 -

Chrome 2 以降では、window.postMessage() を使用したクロスサイト通信がサポートされています。このドキュメントをご覧ください https://developer.mozilla.org/en-US/docs/DOM/window.postMessage

于 2012-08-19T07:15:52.847 に答える
2

適切な回答を得るには、さらに情報が必要です。

  • このコードを実行している正確な場所は、Web ページ、拡張機能のコンテンツ スクリプト、または etension のバックグラウンド スクリプトですか?
  • また、manifest.json ファイルはどのようなものですか? 実行許可を求めたサイト。

これはエラー メッセージの書き方が悪いためではないかと思いますが、実際には「あなたの拡張機能には apis.google.com で実行する権限がありません」と言っています。その場合は、apis.google.com の権限を追加するだけです。詳細については、Chrome 拡張機能のドキュメントをご覧ください: http://developer.chrome.com/extensions/manifest.html#permissions

于 2012-08-20T15:15:22.763 に答える