ユーザーがページにアクセスしたときに実行され、ページに関する情報を収集し、その情報を別の場所に送信してログを記録する Greasemonkey スクリプトを作成しています。ただし、スクリプトが GM_xmlhttpRequest の呼び出しに到達すると、スクリプトは停止します。例えば:
// ==UserScript==
// @name GetProfileInfo
// @namespace LinkedIn
// @include https://www.linkedin.com/profile/view*
// @version 1
// @require http://code.jquery.com/jquery-latest.js
// ==/UserScript==
console.log("start");
GM_xmlhttpRequest({
method: "GET",
url: "http://www.google.com",
onload: function(response) {
console.log("sent");
}
});
console.log("done");
「開始」のみを出力します。
頭の中で @grant GM_xmlhttpRequest をする必要があるかもしれないと思ったのですが、そうすると出力がまったくありません!
更新: @grant GM_xmlhttpRequest を実行したいようですが、実行すると「Components.utils.getObjectPrincipal は関数ではありません」というエラーが表示されます。