1

私は何かが欠けているのではないかと疑っていますが、解決策や代替案を高低で探しましたが、うまくいきませんでした...

行を追加すると実行されない 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ます (プロキシを使用してジョブを実行することも検討しました!)。

4

0 に答える 0