このガイドでは、Discourse のセーフモードを使用して、テーマやプラグインに関する問題をトラブルシューティングする方法を説明します。
必要なユーザーレベル:すべてのユーザー
Discourse では、「JavaScript セーフモード」を提供しており、これにより任意のユーザーが、プラグイン、テーマ、またはテーマコンポーネントによって引き起こされる JavaScript 問題の根本原因を特定できます。この機能は、Discourse サイトの問題をトラブルシューティングする際に特に役立ちます。
セーフモードへのアクセス
セーフモードにアクセスするには、以下の手順に従ってください。
-
新しいブラウザタブを開きます。
-
以下の URL をアドレスバーに入力し、
[your-site-name](http://discourse.example.com)を実際の Discourse サイトのドメインに置き換えます。http://discourse.example.com/safe-mode例えば、Discourse デモサイトのセーフモード URL は以下の通りです。
https://try.discourse.org/safe-mode -
「Enter Safe Mode」ボタンをクリックします。
セーフモードのオプション
セーフモードに入る際、以下のオプションから選択できます。
- テーマとテーマコンポーネントを無効化する
- 非公式のクライアントサイドプラグインのカスタマイズを無効化する
- すべてのクライアントサイドプラグインのカスタマイズを無効化する
- JavaScript の非推奨事項をエラーとして発生させる
デフォルトでは、最初の 3 つのオプションが選択されています。「非推奨エラー」オプションはデフォルトでチェックされておらず、主に今後の Discourse アップデートとの互換性をテストするプラグインおよびテーマ開発者に役立ちます。サイト上の問題を引き起こしている特定のコンポーネントを特定するために、異なる組み合わせでセーフモードを複数回実行できます。
セーフモードの使用
- セーフモードページで希望のオプションを選択します。
- 「Enter Safe Mode」をクリックして選択を適用します。
- セーフモードが有効になっていることを示すバナーが表示されます。
- サイトを閲覧し、選択したコンポーネントが無効化された状態で問題が継続するかどうかを確認します。
セーフモードからの退出
セーフモードから退出するには、ブラウザタブを閉じるだけです。
重要な注意点
サイトのセーフモードリンクを共有する際は、新しいタブで開くか、直接アドレスバーに追加する必要があることに注意してください。そうしないと正しく動作しない場合があります。
現在、セーフモードはプラグインの JavaScript 部分のみを無効化します。プラグインのサーバーサイド部分を無効化するには、プラグインをコメントアウトしてコンテナを再構築する必要があります。
トラブルシューティング
初期のセーフモード選択ページが読み込めない場合は、以下の URL にアクセスしてみてください。これによりページをスキップしてセーフモードを直接読み込むことができます。
https://discourse.example.com/?safe_mode=no_themes,no_plugins
例:https://try.discourse.org/?safe_mode=no_themes,no_plugins
利用可能な safe_mode クエリパラメータの値は no_themes、no_unofficial_plugins、no_plugins、deprecation_errors です。これらはカンマで結合して使用できます。
