2011-12-09 3 views
3

私は、Safari拡張の注入スクリプトでクロスオリジンAJAX呼び出しの正しい設定を理解しようとしています。サファリ拡張のAJAX呼び出しを注入したスクリプト

拡張Builderでの私の設定:

  • 拡張ウェブサイトへのアクセス:真
  • ホワイトリスト:すべての
  • がセキュアなページを含める - :私の目標は

から

  • ブラックリストをChromesの "アクセス許可": "http://mysite.com/*"のようなものを入手し、Webサービスからユーザー設定を取得できるようにします。

    注:JSONPは警告を表示しないので、避ける方がよいでしょう。

  • 答えて

    4

    これで運がいいですか?私は同じ問題を抱えています。同じ設定がChrome拡張機能で正常に機能しますが、Safari拡張機能でアクセスしようとしているときにAccess-Contol-Allow-Originを押すとうまく動作します。

    修正済み:更新: ねえ、私は問題が何かを考え出しました。つまり、バックグラウンドページからクロスドメインのajaxを実行する必要があるようです。私がやり遂げるのは、挿入されたスクリプトで必要とするすべての要求を決定し、その要求をバックグラウンドページに渡すことです。バックグラウンドページは、挿入されたスクリプトからのメッセージをリッスンし、適切なajax呼び出しを行い、メッセージを介して挿入されたスクリプトに結果を送信します。挿入されたスクリプトは、バックグラウンドページからのメッセージをリッスンし、ajax結果を含むメッセージを取得すると、表示されているページで適切なアクションを実行します。

    +0

    私は同じ解決策を使用しますが、私が期待したことではありません。 Safariにそのようなオプションがないように見えます。 – biesiad

    +0

    こんにちは@nicoslepicos私はサファリ拡張の背景ページについて知らない。いくつかのドキュメントを教えてください。ありがとうございました – Alejandro

    関連する問題