AdBlock 阻止了 MathJax 和 AddThis



启用AdBlock时,我收到以下错误:

  1. 添加此:Uncaught Error: Must pass a string which will eval to a globally accessible object where callbacks will be stored

  2. MathJax:Uncaught EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'self' * 'unsafe-inline'".

禁用广告拦截后,一切正常。

这个问题出现在几周前。

即使启用了AdBlock,在使用MathJax的网站上一切正常:https://www.mathjax.org 和 https://math.stackexchange.com/

可能有些事情发生了变化,我需要正确更改代码。如何?

提前谢谢。

这两个错误都涉及相同的内容安全策略 (CSP( 问题,即不允许不安全的eval()调用。广告拦截器,如AdBlock和Adblock Plus,最近开始使用CSP来处理传统技术不足的情况(请参阅Adblock Plus过滤器选项(。

我只能在 emathhelp.net 上重现它。在那里,我能够找到对此负责的过滤器||emathhelp.net^$csp=script-src 'self' * 'unsafe-inline',该过滤器已于 5 月 15 日添加到 EasyList 广告阻止列表中。在Adblock Plus中,您可以按照以下步骤找到此类过滤器:

  1. 右键单击页面上的任意位置
  2. 在上下文菜单中选择"检查">
  3. 切换到打开的窗口中的"广告拦截加"选项卡
  4. 重新加载页面以填充选项卡中的列表
  5. 查找类型为"CSP"的请求旁边的筛选器

您可以访问 EasyList(GitHub、论坛、网站(了解他们添加特定过滤器的原因。他们还应该能够帮助您恢复任何损坏的功能。

相关内容

  • 没有找到相关文章

最新更新