我正在尝试为我的 angularjs 网站设置 norton seal。每次当诺顿脚本加载时,它都会在我的控制台中显示一个警告,例如,
“无法在‘文档’上执行‘写入’:除非明确打开,否则无法从异步加载的外部脚本写入文档。”
我知道脚本正在异步加载,这意味着它与文档解析状态分离。JS 引擎根本无法知道 document.write 应该在页面中的何处执行。我现在正在使用postcribe
。但我想知道,是否有比使用更好的方法postscribe
有没有办法让它运行。谢谢你的帮助。
我正在尝试为我的 angularjs 网站设置 norton seal。每次当诺顿脚本加载时,它都会在我的控制台中显示一个警告,例如,
“无法在‘文档’上执行‘写入’:除非明确打开,否则无法从异步加载的外部脚本写入文档。”
我知道脚本正在异步加载,这意味着它与文档解析状态分离。JS 引擎根本无法知道 document.write 应该在页面中的何处执行。我现在正在使用postcribe
。但我想知道,是否有比使用更好的方法postscribe
有没有办法让它运行。谢谢你的帮助。
我今天遇到了同样的问题,在通过互联网搜索并与一些同事讨论后,我们提出了以下解决方案:
首先你需要使用postcribe:https ://github.com/krux/postscribe
它将替换所有document.write
调用,这样您就不会再从浏览器中收到此错误。
例如,在我的情况下,我执行以下操作:
.postscribe('#seal', '... put the norton seal script tag here ..');
然后你只需要div id="seal"
在你的网站上有个地方,它就会被实际的印章图像取代。
但是,如果这div
是在您的 Angular 应用程序内,您需要postscribe
在 Angular 应用程序内调用。
为此,我创建了一个指令(其中包含 div),并在其中添加了一个 post
链接函数。在 post 函数中,我只是像上面那样调用 postscribe。如果您需要这种方法,我可以写一个片段。