我通过javascript在新标签页中打开一个网站,方法是在浏览器控制台中编写以下代码:
var win = window.open("http://staging.redefinewebs.in/wildgoose-const/wp-admin/post-new.php", "mywin", '');
现在我想在新打开的标签中的字段中添加文字。但为此,我需要访问win.document
。当我在控制台中编写win.document
时,出现以下错误:
Error: Permission denied to access property "document"
如果我在新标签页中打开其他网站,则不会显示此错误。所以,
如何使用window.open?
访问在新选项卡中打开的窗口的文档对象答案 0 :(得分:3)
如何使用window.open?
访问在新选项卡中打开的窗口的文档对象
如果窗口正在打开来自不同来源的文档,则不要这样做。由于Same Origin Policy,浏览器拒绝跨源访问。从问题中的错误来看,这似乎就是这种情况。
如果窗口包含来自同一来源的文档,您可以在显示时访问该文档;但请注意,在您致电window.open
后,它可能仍会立即加载,您可能需要等待它完成,可能是DOMContentLoaded
事件。
答案 1 :(得分:2)
如果违反了同源策略,则无法访问子窗口的DOM。
只有满足以下三个条件时,才能访问子窗口的DOM。