Tampermonkey スクリプトでいくつかの AJAX 操作を実行したいのですが、jQuery はかなり便利だと思います。jQuery AJAX を Tampermonkey で動作させる方法がないというのは、現在でもまだなのですか?
操作は同じオリジンに対して行われないことに注意してください。これが、Tampermonkey を使用するすべての理由です。グリースモンキーもOK。
Tampermonkey スクリプトでいくつかの AJAX 操作を実行したいのですが、jQuery はかなり便利だと思います。jQuery AJAX を Tampermonkey で動作させる方法がないというのは、現在でもまだなのですか?
操作は同じオリジンに対して行われないことに注意してください。これが、Tampermonkey を使用するすべての理由です。グリースモンキーもOK。
jQuery AJAX は Tampermonkey と Greasemonkey で問題なく動作しますが、Web ページでの jQuery の使用と比較して、制限が 1 つだけあります。
たとえば、次のクロスオリジン スクリプトは、Tampermonkey と Greasemonkey の両方で機能します。
// ==UserScript==
// @name _Demonstrate jQuery AJAX from Tampermonkey
// @include https://stackoverflow.com/questions/18546180/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @grant GM_addStyle
// ==/UserScript==
/*- The @grant directive is needed to work around a design change
introduced in GM 1.0. It restores the sandbox.
*/
$.ajax ( {
type: 'GET',
url: 'https://api.stackexchange.com/2.1/users/621338?site=stackoverflow&filter=!)2R0ltXnW6.fyPDiHJm',
dataType: 'JSON',
success: function (apiJson) {
var resultObj = apiJson.items[0];
alert (
'User ' + resultObj.display_name
+ ' has accept rate of ' + resultObj.accept_rate + '%.'
);
}
} );
ターゲット URL が同じドメインであるか、ターゲット サーバーに適切なCORS値が設定されている必要があります。
クロスドメインに対応していないサーバーの場合、AJAX にGM_xmlhttpRequest()
Docを使用する必要があります。
JSONP は、サンドボックスとスコープの問題のため、特殊なケースです。
JSONP を避けるか、このアプローチを使用するか、特定の問題について新しい質問をしてください。