假设我的网站在两个选项卡中打开,我想获取ID为“id”的元素,我可以以某种方式获取当前焦点浏览器选项卡中的元素吗?有没有办法区分具有相同ID但具有不同浏览器选项卡的元素?
document.getElementById("id");
似乎得到最近加载的元素。
假设我的网站在两个选项卡中打开,我想获取ID为“id”的元素,我可以以某种方式获取当前焦点浏览器选项卡中的元素吗?有没有办法区分具有相同ID但具有不同浏览器选项卡的元素?
document.getElementById("id");
似乎得到最近加载的元素。
不,因为这将是一个巨大的安全漏洞。
在stackoverflow上有类似的问题:Accessing the content of other tabs in browser。
This answer给链接的问题提供了代码来做到这一点,但我在过去使用IE时遇到了问题,当试图在其他文档上指定事件处理程序(虽然在Firefox中工作正常)。
那么为什么它的工作方式?我的意思是,假设我在tab nr1中,并且文档具有id ='id'的输入元素。现在,我打开tab nr2,切换到它并将id ='id'的元素的值设置为'xyz'。如果我切换到制表符nr1,并尝试打印输入的值,它会显示'xyz'而不是''或之前的任何内容。 – Bogdan 2012-02-23 08:17:57
至于你链接的答案,我认为这将工作,当我打开JavaScript的新标签,但在我试图解决的情况下,用户强制从浏览器内的新标签 – Bogdan 2012-02-23 08:20:53
访问用户创建的标签通过Javascript不应该也不可能。如果确实如此,请向您的浏览器供应商提交错误报告;) – knittl 2012-02-23 08:28:22
你的意思是浏览器选项卡? – Purag 2012-02-23 08:06:37
@Purmou是的,编辑为清晰 – Bogdan 2012-02-23 08:07:41