Google ChromeのユーザースクリプトからクロスオリジンXHRを実行できた人はいますか?リクエストはサーバーに送られますが(ログで確認できます)、readystatechanged
イベントが発生することはありません。
拡張機能のアクセス許可はうまくいかないようです。JSONPもそうではありません。
Google ChromeのユーザースクリプトからクロスオリジンXHRを実行できた人はいますか?リクエストはサーバーに送られますが(ログで確認できます)、readystatechanged
イベントが発生することはありません。
拡張機能のアクセス許可はうまくいかないようです。JSONPもそうではありません。
Chromeの現在のバージョン(13.0.781以降)は、クロスドメインリクエストを含むほとんどまたはすべてのGM_xmlhttpRequest()
Doc機能をサポートするようになりました。問題18857:コンテンツスクリプトでのクロスサイトXMLHttpRequestのサポート
を参照してください。
したがって、このスクリプトはChrome(そしてもちろんFirefox)でも完全に正常に機能します。
// ==UserScript==
// @name _Cross domain (XSS) GM_xmlhttpRequest, Chrome too
// @include http://stackoverflow.com/*
// @grant GM_xmlhttpRequest
// ==/UserScript==
GM_xmlhttpRequest ( {
method: "GET",
url: "http://www.google.com/",
onload: function (response) {
console.log ( response.status,
response.responseText.substring (0, 80)
);
}
} );
(そのスクリプトをインストールしてから、任意のSOページを参照します。スクリプトはGoogleホームページの最初の80文字をコンソールに書き込みます。)
Chrome 13以降、マニフェストにWebサイトへのアクセス許可を含めた場合、コンテンツスクリプトでクロスオリジンリクエストを実行できます。
Chromeのユーザースクリプトはコンテンツスクリプトです。コンテンツスクリプトはクロスオリジンXHRを作成できません。クロスオリジンXHRを実行する場合は、拡張ページ(バックグラウンド、ポップアップ、オプション)で実行する必要があります。
詳細: http : //code.google.com/chrome/extensions/content_scripts.html http://code.google.com/chrome/extensions/xhr.html