我遇到了一个问题,脚本在当前选项卡上运行时运行良好,但当我尝试使用 window.open
在其他窗口上使用它时,它不起作用。代码的简化版本如下所示:
var win = window.open("some_url");
var new_element = win.document.createElement('div');
new_element.textContent = "some text";
win.document.head.appendChild(new_element);
我在开发工具中使用 chrome 代码片段测试器,当我在当前窗口上运行此 stript 时,它工作得非常好。我知道它在新寡妇中不起作用,因为检查没有显示任何新元素。有谁知道为什么它不起作用?我对DOM创建的顺序等知识为零。也许我无法在其加载之前附加到它?
最佳答案
经过一番挖掘,我终于得到了一个答案,而不是解决方案。代码在空白页面上工作但在某些真实网址上不起作用的原因是因为通常网站使用跨站点脚本 block 来阻止此类操作。所以代码没有任何问题。正是该网站阻止了它的执行。
关于javascript - appendChild 不适用于使用 window.open() 的新窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61332476/