私は何かが欠けているのではないかと疑っていますが、解決策や代替案を高低で探しましたが、うまくいきませんでした...
行を追加すると実行されない Greasemonkey スクリプト (ここにすべてをコピーして貼り付けたくありません) があります// @grant GM_xmlhttpRequest
。テストとして、同じ行を IITC (私のシステムにある数少ないグリースモンキー スクリプトの 1 つ) に追加しましたが、これも読み込みに失敗しました。Firefox 36.0.1 を実行している Greasemonkey 2.3 & 3.0 で失敗します。ブラウザ コンソールにエラー メッセージが表示されません。
私のスクリプトは、this.addEventListener("readystatechange", function() {
XMLHttpRequest open 関数が呼び出されたときにリスナー ( ) を追加し ( (function(open) {
、XMLHttpRequest.prototype.open = function(method, url, async, user, pass) {
)、受信したデータを「インターセプト」して、ローカル ネットワーク上の自分のサーバーに送信してログに記録します。スクリプトは .js ファイル内のコードを実行しているように見えますが、リスナーは実行されません。私が考えることができる唯一のことは、スクリプト内のコードが期待どおりに実行されるということですが、リスナーから実行すると.jsファイルのコンテキストの外で実行されますが、その場合、関数が定義されていないというエラーが表示されると予想されます.
これが私のリクエストの作成方法です。
GM_xmlhttpRequest({
method: "POST",
url: "http://10.0.0.149/cgi-bin/test.py",
data: "logdata=logthis",
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
});
行が取り出されると、スクリプトは@grant
正常に機能します (コンソールに正しくログが記録されます)。
console.log("LogData: " + this.responseText);
基本的に、ホーム ネットワーク上のログ サーバーに送信できるコード行を置き換える必要がありresponseText
ます (プロキシを使用してジョブを実行することも検討しました!)。