繁体   English   中英

在新标签页中加载页面后调用函数

[英]Call function after page was loaded in new tab

单击按钮后,我需要在新选项卡中打开一些链接,并且比页面加载后要多,因此我需要以编程方式在此页面上执行一些操作(例如单击适当的GUI元素等)。

例如,此代码应在新标签页http://stackoverflow.com中打开,然后单击“标签”:

<button type=\"button\"
    onclick="window.open('http://stackoverflow.com', '_blank');
    document.getElementById('nav-tags').click();">Click Me!
</button>

但不会调用函数document.getElementById('nav-tags').click()

正如我在评论中所说,无法直接在选项卡/窗口之间进行通信。

可以通过以下方法解决:

  1. 当打开另一个标签时,在url中发送您需要的数据(就像我在注释stackoveflow.com/tags中建议的那样)
  2. 使用Cookie进行通信( https://stackoverflow.com/a/4079423/3600886
  3. 使用本地存储进行通信( http://dev.w3.org/html5/webstorage/)-有一个用于该存储的库: https : //github.com/diy/intercom.js/

如果您的用途是仅在页面加载时显示一些数据,我想说第一种选择是,它将不受所有其他限制地在所有浏览器上运行。

使用其他选项时,您将需要页面位于相同的域或具有相同的父窗口,并且旧版本的浏览器不支持本地存储。

通过JavaScript创建选项卡,然后可以使用JavaScript访问该选项卡并放置onload函数

var w = window.open();
w.onload = function(){

};

您还可以将onload函数放在选项卡中:

window.onload = function(){
}

您需要在.ready事件中编写JS。 因此,当整页DOM准备就绪时,它将被调用:

$(document).ready(function () {
      document.getElementById('nav-tags').click();
});

暂无
暂无

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

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