我需要打开一个新窗口并返回其中包含的元素。
假设我们有第A页和第B页,我想:
我试图以这种方式这样做,但它不起作用:
var newwindow = window.open("http://www.example.com");
var elem = newwindow.document.getElementById('my-id').value;
我哪里错了?有人对我有什么建议吗?
答案 0 :(得分:5)
由于您使用的是绝对URI,我将假设您尝试从其他网站获取数据。因此,您将被the same origin policy屏蔽。
如果情况并非如此,那么您可能会在完成加载之前尝试阅读文档的内容,从而达到竞争条件。
如果您提供了浏览器几乎肯定会登录到其JS控制台的错误消息,那么帮助会更容易。
答案 1 :(得分:0)
如果新窗口具有相同的协议,域和端口,则代码应该有效。如果它在另一个域上,出于安全原因,您无法执行此操作。
如果您控制两个页面,则可以使用window.postMessage。