【问题标题】:js open popup window and acces its element in another pagejs 打开弹出窗口并在另一个页面中访问其元素
【发布时间】:2012-05-06 04:37:01
【问题描述】:

我的 js 弹出窗口有问题。

我打开一个弹出窗口并尝试在另一个页面页面中访问它的元素,没有成功,我不想重新加载弹出窗口源,我只是想访问打开的弹出窗口的一个元素

前-

  • 第一页 - 使用 html5 音乐播放器打开弹出窗口
  • 第二页 - 当用户点击主页上的按钮时需要暂停音乐

第一页

var popup = window.open("test.html","mypopup","width=500,height=300");

我想在不重新加载弹出窗口的情况下访问 mypopup windows 元素的第二页

我只需要如何在不使用 JS 或 JQuery 中断其来源的情况下访问打开的弹出元素的方法

【问题讨论】:

  • 同源(域、端口和协议)?纯JS:popup.document.getElementById("player").someFunction()

标签: javascript jquery popup


【解决方案1】:

同源(域、端口和协议)?

纯 JS:

来自第 1 页

var popup = window.open("test.html","mypopup","width=500,height=300");
popup.document.getElementById("player").someFunction();

从第 2 页开始

var popup = window.open('','mypopup');
// now popup is known again
popup.document.getElementById("player").someFunction();

【讨论】:

  • 谢谢...这很好用... :)
  • 如果我无法访问调用popup 的代码会怎样?但仍想从另一个页面访问 DOM?
  • 请提出您自己的问题...如果调用它的代码为弹出窗口提供了名称或使用了句柄,您可以像我在第 2 页中显示的那样使用它 - 如果它只是执行 window.open("url.html")然后没有。如果您对页面有脚本访问权限,则可以重写弹出页面的函数。 function popup() { /* myVersion of this */} 将覆盖 function popup() { /* their version */} 如果您在他们之后加载您的并保留名称
猜你喜欢
  • 1970-01-01
  • 2012-02-09
  • 1970-01-01
  • 2012-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-29
相关资源
最近更新 更多