我已经创建了一个chrome扩展程序并使用Revaxarts的一个名为Documenter的在线工具构建帮助文档(例如:http://documenterdocs.revaxarts.com/doc_ca71f4007fd2ed01997a40c61d345e3f/)
此帮助文档包含有关扩展的所有说明:它是什么,它是如何工作的等等。我想与我的扩展程序(本地文件)共享此帮助文档,并通过"帮助指南"弹出菜单上的按钮(在新选项卡/窗口中打开)。
问题是该工具生成的HTML文件在HTML <head></html>
中使用了一些内联javascript,因为我是在编程的早期阶段,这是我第一次尝试使用chrome扩展,我似乎无法找到一种方法来完成这项工作,甚至根本无法获得信息。
帮助指南文件结构如下:
rootfolder/asssets/
roofolder/index.html
/assets/
有CSS,JS和Imgs文件。
我读了一些External content,但我不太确定如何,即使它可以适应我的需求。也许使用沙箱?我对此并不了解。
有什么想法吗?
答案 0 :(得分:0)
默认情况下,inline scripts will not be executed。
要放宽此政策,请参阅Relax default policy。
直到 Chrome 45 ,才有无机制,以放宽对执行内联JavaScript的限制。特别是,设置一个包含&#39; unsafe-inline&#39;没有效果。
从 Chrome 46 开始,可以通过在策略中指定源代码的base64编码哈希来将内联脚本列入白名单。此哈希必须以使用的哈希算法(sha256,sha384或sha512)作为前缀。有关示例,请参阅 Hash usage for elements 。
但是,我建议您将内联脚本解压缩到外部脚本,例如,将onclick=xxx
等内联侦听器更改为Element.addEventListener('click')