首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AdBlock块MathJax和AddThis

AdBlock块MathJax和AddThis
EN

Stack Overflow用户
提问于 2018-06-15 06:31:05
回答 1查看 1K关注 0票数 2

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

  1. AddThis: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被禁用时,一切正常。

这个问题几周前就出现了。

即使启用了AdBlock,在使用MathJax:https://www.mathjax.orghttps://math.stackexchange.com/的站点上,一切都很正常。

可能,有些东西已经改变了,我需要正确地修改代码。多么?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-19 18:50:30

这两个错误都引用相同的内容安全策略(CSP)问题,即不允许不安全的eval()调用。广告阻断剂,如AdBlock和Adblock,最近已经开始在传统技术不足的情况下使用CSP(参见Adblock Plus过滤器选项)。

我只能在emathhelp.net上复制它。在那里,我找到了过滤器||emathhelp.net^$csp=script-src 'self' * 'unsafe-inline'负责这一点,这是添加到EasyList广告阻塞列表5月15日。在Adblock Plus中,您可以通过以下步骤找到这样的过滤器:

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

您可以联系EasyList (GitHub论坛网站),了解它们为什么添加了特定的过滤器。它们还应该能够帮助您恢复任何损坏的功能。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50870227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档