GoogleのChromeのユーザースクリプトからのクロスオリジンのXHR
-
20-09-2019 - |
質問
は、誰もがGoogle ChromeでユーザースクリプトからのクロスオリジンXHRsを実行する任意の運がありましたか?リクエストはreadystatechanged
イベントが発生されることはありません、(私はログにそれらを見ることができる)が、サーバに通過します。
拡張機能パーミッショントリックをやっているようには見えません。どちらもJSONPではありません。
解決
現在のバージョン(13.0.781以降)は、今ではほとんどまたは GM_xmlhttpRequest()
ドキュメントのすべてをサポート の機能 - 。 のクロスドメイン要求を含む
/ <コンテンツスクリプトでクロスサイトのXMLHttpRequestをサポートしています:問題18857を参照してください。 >。
だから、このスクリプトは、クロム(そしてもちろん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個の文字を書き込みます。)
他のヒント
あなたはマニフェストのウェブサイトへのアクセス許可が含まれている場合クローム13の時点で、あなたはコンテンツスクリプトでクロスオリジン・リクエストを行うことができます。
をChromeのユーザースクリプトは、コンテンツスクリプトです。コンテンツのスクリプトは、クロスオリジンXHRsをすることはできません。あなたは、クロスオリジンXHRsを行いたい場合は、拡張ページ(背景、ポップアップ、オプション)で行う必要があります。デル>
詳細情報については: http://code.google.com/chrome/extensions/content_scripts.html http://code.google.com/chrome/extensions/xhr.html