Javascript AdBlock阻塞MathJax和AddThis
启用AdBlock时,我出现以下错误:Javascript AdBlock阻塞MathJax和AddThis,javascript,mathjax,addthis,adblock,Javascript,Mathjax,Addthis,Adblock,启用AdBlock时,我出现以下错误: AddThis:Uncaught Error:必须传递一个字符串,该字符串将求值到 存储回调的全局可访问对象 MathJax:Uncaught EvalError:拒绝将字符串求值为 JavaScript,因为“不安全评估”不是允许的脚本源 在以下内容安全策略指令中:“script src “self”*“unsafe inline”。 禁用AdBlock时,一切正常 这个问题几周前就出现了 即使启用了AdBlock,在使用MathJax:和 可能,有些东
Uncaught Error:必须传递一个字符串,该字符串将求值到
存储回调的全局可访问对象
Uncaught EvalError:拒绝将字符串求值为
JavaScript,因为“不安全评估”不是允许的脚本源
在以下内容安全策略指令中:“script src
“self”*“unsafe inline”。
提前感谢。两个错误都涉及相同的内容安全策略(CSP)问题,即不允许不安全的
eval()
调用。AdBlock和AdBlock Plus等广告拦截器最近开始在传统技术不足的情况下使用CSP(请参阅)
我只能在emathhelp.net上复制它。在那里,我能够找到过滤器| emathhelp.net^$csp=script src'self'*'safe inline'
,该过滤器被添加到EasyList ad阻止列表中。在Adblock Plus中,您可以通过以下步骤找到此类过滤器:
您可以访问EasyList(,),了解他们添加特定筛选器的原因。他们还应该能够帮助您恢复任何已损坏的功能。这里没有足够的信息来帮助您。这看起来像是CSP的问题,但不清楚你在哪个网站上看到了这个问题。我看到当广告拦截器出现时,页面上有很多错误(例如,jquery也无法加载),所以我怀疑页面上的其他JS之间存在一些不好的交互。例如,如果我在页面加载后(打开广告拦截器)将MathJax的新副本注入DOM,MathJax工作正常,因此MathJax本身可能没有问题。