页面加载到新选项卡后调用功能

时间:2015-01-08 07:57:06

标签: javascript html

单击按钮后,我需要在新选项卡中打开一些链接,而不是在加载页面之后,我需要以编程方式在此页面上执行某些操作(例如单击适当的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()没有调用。

3 个答案:

答案 0 :(得分:2)

正如我在评论中所说,没有办法在标签/窗口之间直接沟通。

但是有一些方法:

  1. 打开另一个标签页时,在网址中发送您需要的数据(就像我在评论中建议的stackoveflow.com/tags)
  2. 使用Cookie(https://stackoverflow.com/a/4079423/3600886
  3. 进行通信
  4. 使用本地存储(http://dev.w3.org/html5/webstorage/)进行通信 - 有一个库:https://github.com/diy/intercom.js/
  5. 如果你的用法只是在页面加载时显示一些数据,我会说第一个选项,它将适用于所有浏览器,没有任何其他限制。

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

答案 1 :(得分:1)

从JavaScript创建选项卡,您可以使用JavaScript访问选项卡并放置onload函数

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

};

您还可以将onload功能放在选项卡中:

window.onload = function(){
}

答案 2 :(得分:0)

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

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