Greasemonkeyスクリプトが実行されない理由を特定する方法[複製]

StackOverflow https://stackoverflow.com/questions/1410801

  •  05-07-2019
  •  | 
  •  

質問

    

この質問にはすでに回答があります:

         

ページで実行するGreasemonkeyスクリプトを取得しようとしています。しかし、そうではありません。

スクリプトをどのようにデバッグしますか?

新しいGreasemonkeyスクリプトを開始するための、可能な限り小さな手順は何ですか?

役に立ちましたか?

解決

スクリプト内のどこにでもログを書き込むことができ、スクリプトで行われた場合のより良いトレースを取得できます:

GM_log("Hello, World!");

http://wiki.greasespot.net/GM_log

詳細: http://wiki.greasespot.net/Greasemonkey_Manual:Other_Useful_Tools#JavaScript_Console

別のヒント:グリースモンキーwiki全体を見てください。彼らはそこにたくさんの良いものを持っています: http://wiki.greasespot.net/Main_Page

他のヒント

ユーザースクリプトを使用して始めたとき、最初のエラーはワイルドカードを使用していませんでした。

// Broken:
// @include        https://www.example.com/

// Working:
// @include        https://www.example.com/*

これは、スクリプトが適用されず、まったく実行されない最も簡単な方法です。さらに、構文エラーを確認してください。セミコロンの位置を間違えると、スクリプトの解析が妨げられる可能性があるため、無視されます。

Firefoxで、[ツール]>を開きます。エラーコンソールを表示し、ページを読み込むときにそれを確認します。ページからの警告に圧倒される場合は、エラーでフィルタリングできますが、それでもスクリプトの問題が強調表示されることがよくあります。

私のgreasemonkeyスクリプトは機能していました。行を追加しました。動作を停止しました。行を削除しました。それでも動作しませんでした。

新しい行を追加してスクリプトをリロードしたときに、greasemonkeyが壊れた updater.php スクリプトをインストールしたと判断しました。古いスクリプトをリロードすると、 updater.php スクリプトの壊れたバージョンが保持されました。最終的に、Firefox Webコンソールで updater.php スクリプトに関するエラーメッセージを見つけました。 updater.php スクリプトを、新しいバージョンのスクリプトを読み込んだ後、コメントを含むファイルに置き換えたところ、スクリプトの実行が開始されました。

Macでは、 updater.php / Users / csimmons / Library / Application Support / Firefox / Profiles / 81ri7k71.default / gm_scripts / Extended_LoU_Tweak

Firefoxのデフォルトプロファイルの gm_scripts / ディレクトリで、同様の updater.php ファイルを見つけることができる場合があります。

私にはスクリプトに構文エラーがあり、Greasemonkeyはエラーメッセージを出しませんでした。スクリプトをJSコンソールにコピー&ペーストすると、秘密が明らかになりました。

最初にGreasemonkeyが有効になっていることを確認してください:

また、 @include の構文には、一致するパターンが1つだけあります。別の行が必要な場合は、別の @include 行を追加します。

この問題もありました。これが私にとっての解決策でした:

  • 発生したときに作業していたコードの一部をチェック(およびトリッキーな変更)

  • GreaseMonkey

  • のアンインストールと再インストール
  • その後、実際のエラーレポートが表示されます

編集:今日、問題は通常よりも頻繁に発生します(新しいリリース?) FirefoxのWebツールは、エラーメッセージのために、greasemonkeyまたはJSエンジンと戦闘しているようです。

だからどこか(ctrl + alt + k)を見ていると、エラーメッセージが他のどこかに表示されます(他のコンソールを開いてみてください)。これは面白いゲームのようです。

ページのURLがナビゲートではなくJavascriptで設定されている場合(InstagramがポップアップウィンドウにパーマリンクURLを与えるなど)、Greasemonkeyはスクリプトを実行中として表示しますが、実際には起動しません。 URLをリロードして、実際に同じページに移動するかどうかを確認してください。そうでない場合は、ポップアップURLではなくホームページのURLと一致させる必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top