关闭 body 前添加 Javascript 的任何批准方法?

我对此做过一些研究,也了解相关的安全原理等。但请问目前是否已有实现此功能的方法?我有一个反广告拦截脚本想要运行,它本应插入在 </body> 之前,但添加到主题后却没有任何效果。我猜测是安全机制将其移除了?无论如何,在主题自定义区域的 </body> 或“页脚”选项中,它都没有为我加载。

顺便一提,这只是一段纯 JavaScript 代码,并非远程文件链接等。

谢谢,
Jim

您是否已将 JavaScript 代码放在 </body> 标签内的 <script> 标签中:

<script type="text/javascript">
    <<< JS >>>
</script>

是的,我已经将脚本放在了桌面版 <body> 标签内。

<script type="text/javascript"  charset="utf-8">
eval(function....
</script>

嗯……我看到有一个包含脚本的文件通过以下方式被放入了页脚:

<script src="[/theme-javascripts/854aca489ba48a598e9eefaa2e4e255ac2a445b7.js?__ws=mywebsite.com](https://mywebsite.com/theme-javascripts/854aca489ba48a598e9eefaa2e4e255ac2a445b7.js?__ws=mywebsite.com)"></script>

访问该文件(对我而言)显示的内容与我之前在“自定义主题”区域中放置的 JS 代码完全一致。

但据我所知,它并没有像在其他网站上那样正常工作(因为我启用了广告拦截器)。

好的……JS 控制台中出现了一个异常/错误:

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…

那么,有没有办法让 eval 变得安全,或者授权这种特定用法?

您可以在内容安全策略站点设置中允许 eval,请参阅使用内容安全策略减轻 XSS 攻击

不过我们不推荐这样做,因为这会使您的网站面临安全漏洞。