2016-04-01 27 views
3

現在のタブから画像を取得し、その画像をサーバーに送信して画像をホストするChrome拡張機能を構築しています。多くのサイトでうまく動作しますが、InstagramやPinterestなどの主要なサイトでは、ブラウザが混合コンテンツ(HTTPとHTTPS)をブロックするため、動作しません。私は、コンソールで次のエラーメッセージが表示されます。Chrome拡張機能 - 混在コンテンツのブロックを無効にする

Mixed Content: The page at 'https://www.instagram.com/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint. This request has been blocked; the content must be served over HTTPS. 

私はこのポストをチェックし、spcifically拡張に関して私を助けるために表示されません:https://productforums.google.com/forum/#!topic/chrome/OrwppKWbKnc

また、私はサーバーのURLを追加しようとしましたmanifest.jsonのパーミッションに変更してください。

私の質問は、私のサーバーに混在したコンテンツを許可するChrome拡張機能を持たせる方法はありますか、それとも私のサーバーをHTTPSに切り替える唯一の方法ですか?

答えて

8

コンテンツスクリプトからhttpリクエストを送信すると、ウェブページと同じコンテキストに存在するため、ブラウザの動作であるSOPによって制限されます。

拡張自体が権限にサーバーのURLを追加することにより、SOPをバイパスすることができながら、あなたは、拡張のコンテキストでbackground page生活するので、(Message Passingまたはbrowser Actionのようないくつかの他のトリガのいずれかによって)content scriptsからbackground pageにあなたのHTTPリクエストを移動することができます。

関連する問題