本指南介绍如何使用 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 -
点击“进入安全模式”按钮:
安全模式选项
进入安全模式时,您可以选择以下选项:
- 禁用主题和主题组件
- 禁用非官方的客户端插件自定义
- 禁用所有客户端插件自定义
- 使 JavaScript 弃用项引发错误
默认情况下,前三个选项处于选中状态。“弃用错误”选项默认未勾选,主要用于插件和主题开发者测试与即将发布的 Discourse 更新的兼容性。您可以多次以不同的组合进入安全模式,以隔离导致您站点出现问题的特定组件。
使用安全模式
- 在安全模式页面上选择所需的选项。
- 点击“进入安全模式”以应用您的选择。
- 您将看到一个横幅,提示安全模式已启用。
- 浏览您的站点,检查在禁用所选组件后问题是否仍然存在。
退出安全模式
要退出安全模式,只需关闭您的浏览器标签页即可。
重要提示
在分享您站点的安全模式链接时,请注意,该链接需要在新标签页中打开,或直接添加到地址栏中;否则可能无法正常工作。
安全模式目前仅禁用插件的 JavaScript 部分。要禁用插件的服务端部分,您必须通过注释掉插件来重新构建容器。
故障排查
如果您无法加载初始的安全模式选择页面,请尝试访问以下 URL,该 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。这些值可以用逗号组合使用。
