繁体   English   中英

如何在每个新打开的选项卡或 window 中启动 JavaScript function 或同一 Z4C4AD5FCA2E303F74DBB1A4Z 页面?

[英]How launch JavaScript function in every new opened tab or window of the same HTML page?

我有 html 页面 SomePage 与 onload 事件:

<body onload="someEvent()">

我使用 someEvent function 附加到 SomePage js 文件:

function someEvent()
{
    someFunction();
}

当我打开 SomePage 时,someEvent function 在第一个选项卡中启动。 但是当我在新选项卡中打开 SomePage 时它不会启动。 如何在每个新打开的选项卡或同一页面的 window 中重新启动 js function?

更新:

当我在带有 JavaScript 调试模式的 Visual Studio 中运行 somePage 并在 someEvent function 中放置断点时,调试器仅在第一个打开的选项卡中破坏它,当我打开第二个选项卡时,调试器不会断点。 因此,我决定,我的 function 不在第二个选项卡中刷新。 在您回答之后,我意识到这不是 JavaScript 问题,我之前的示例仅在新打开的选项卡中没有断点的情况下才能正常工作。 谢谢您的帮助。

只要您加载相同的页面,它就应该在每个选项卡中工作。 您可以通过在 onLoad 回调 function 中进行警报调用来进行测试。

<body onload="someEvent()">
<script>
function someEvent()
{
    alert('hi');
}
</script>

我们可能需要更多关于这方面的信息。 如果您只是在单独的选项卡上访问 SomePage,那么在第一个选项卡中发生的任何事情都应该在第二个选项卡中发生。 如果那不是您正在做的事情,那么下一个选项卡将由第一个选项卡打开,这就是我们需要更多信息的地方。

如果我需要在加载时执行某些操作,我通常会在我的 javascript 文件中设置以下内容,并通过<script src="/path/to/file">将其链接到我的 html 页面

window.addEventListener("load", () => {
  runFunctionAfterLoaf();
});

尝试使用

window.onload = function() {
      someFunction();
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM