在锚的链接打开后运行javascript

时间:2015-08-25 13:30:01

标签: javascript html

我有一个包含target="_blank"锚点的iFrame。我想在新窗口打开后在iFrame中运行一些JavaScript。

我尝试在锚点的setTimeout(/*my js to run*/, 0)事件中使用onclick。它适用于Chrome,但不适用于Firefox。在setTimeout中放入100毫秒的延迟似乎解决了Firefox的这个问题,但这个解决方案看起来不太干净。

在新窗口中打开链接后,是否有标准方式运行js代码?

编辑一些说明:我想要运行的js触发页面刷新。如果我将它直接放在onclick事件中,则锚点链接不会打开,因为onclick事件发生在之前。这就是我需要在新窗口打开后运行js代码的原因。

第二次修改我可以访问第一页和弹出窗口,但不能访问该链接的目标。

2 个答案:

答案 0 :(得分:1)

如果您需要刷新并在新窗口中打开链接,您需要像这样的

这样的setTimeout

内联:

<a href="popup.html" id="pop" target="_blank">Click</a>

更好:

function reload() {
  setTimeout(function() { location.reload(1);},10);
}
window.onload=function() {
  document.getElementbyId("pop").onclick=reload;
}
使用

window.onload=function() { opener.reload(1); }

您是否可以访问弹出窗口中的页面,它是否与iFrame的原点相同,是否与父页面的原点相同?然后你可以使用弹出页面的onload事件:

_mm256_pow_pd

答案 1 :(得分:0)

将onReady或onLoad挂钩添加到正在加载的页面中。然后,&#34;在新窗口打开后#34; JavaScript将运行。如果您需要影响父窗口,请在弹出窗口中的JavaScript中使用window.opener