0

自分が所有していないサイト(www.notmysite.com)から情報を取得できるGoogle Chrome拡張機能を作成したい私が所有しているサイト(www.mysite.com)に情報を送り、私のサイトのその情報を使って何らかのMySQLクエリを実行します。サイトにMySQLクエリを送信する(Google Chrome拡張機能を使用)

たとえば、www.notmysite.comのHTMLから解析したJavaScript変数をいくつか取り込み、www.mysite.comのMySQLデータベースにINSERTすることができます。 1つのwww.notmysite.comページから別のものへXMLHttpRequestsを作成するのに問題はありませんが、www.mysite.comに接続しようとするとクロスドメインスクリプティングの制限があります。

方法はありますか?私はwww.mysite.comを所有しているので、そこにいるはずです。

(これは本質的な問題をこする画面である。私は、データベースに直接こすり選別したいと思います。)

+0

firefoxでは、greasemonkeyというアドオンを使用してクロスドメイン制限を克服することができます。このアドオンでは、jsスクリプトをページに追加して実行することができます。 greasemonkyはxmlhttprequestsを他のサイトに送るためのAPIを提供しています。 http://www.mychromeaddons.com/chrome-addon-greasemetal-greasemonkey-for-chrome/によれば、あなたはクロムで同じことをすることができますが、私はそれを一度も使用していません。 – bert

答えて

0

あなたが背景ページから(ないコンテンツスクリプトからあなたのAJAX呼び出しを実行する場合は、クロスドメイン制限を回避することができます)、マニフェストファイルで宣言されている対応するドメイン権限を持つ。

+0

ありがとうございました。 David、私はあなたの提案を試みなかったので、うまくいくかもしれません。知りません。 –

1

"スクリプトタグ挿入"という手法を使用すると、ドメイン間の制限を回避できます。つまり、<スクリプト>タグを挿入し、オフサイトドメインを指す "src"属性と、渡すクエリ文字列パラメータを挿入することができます。

<script src="http://www.mysite.com/someScript?param=value"></script> 

上記のようなタグをドキュメントに挿入すると、ブラウザはそのURLをヒットしてそこにあるものを検索します。あなたは、渡された値を保存するために、またはあなたがやりたいことが何であれ、「someScript」内の機会を取ることができます。

あなたはこの問題に遭遇した最初の人ではなく、多くの困難な作業が既に行われています。 JSONPの組み込みサポートを持つjQueryの$.ajax()メソッドを見てください。これにより、この技術を簡単に活用できます。

関連する問題