3

我正在尝试为我的 angularjs 网站设置 norton seal。每次当诺顿脚本加载时,它都会在我的控制台中显示一个警告,例如,

“无法在‘文档’上执行‘写入’:除非明确打开,否则无法从异步加载的外部脚本写入文档。”

我知道脚本正在异步加载,这意味着它与文档解析状态分离。JS 引擎根本无法知道 document.write 应该在页面中的何处执行。我现在正在使用postcribe。但我想知道,是否有比使用更好的方法postscribe

有没有办法让它运行。谢谢你的帮助。

4

1 回答 1

5

我今天遇到了同样的问题,在通过互联网搜索并与一些同事讨论后,我们提出了以下解决方案:

首先你需要使用postcribehttps ://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。如果您需要这种方法,我可以写一个片段。

于 2016-11-22T17:36:16.660 回答