Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Firefox的另一个窗口中加载页面时检测的Javascript_Javascript_Firefox_Tabs_Loading_Detect - Fatal编程技术网

在Firefox的另一个窗口中加载页面时检测的Javascript

在Firefox的另一个窗口中加载页面时检测的Javascript,javascript,firefox,tabs,loading,detect,Javascript,Firefox,Tabs,Loading,Detect,我想知道最好的方法是什么,当一个页面已经完成加载时,检测该页面是否在不同的选项卡或窗口中。。。要加载的页面可以是web上的任何页面,并且不在我的控制之下 我只使用Firefox,我不介意该解决方案是否需要Firefox扩展或Sleep Monkey脚本(我已经添加了配置/命令以允许访问不同域的页面) 下面的代码显示了一个尝试。它有时会检测初始页面何时加载,但当我按“提交”将新页面重新加载到另一个窗口时,它不会检测到 谢谢 <html> <head> <script

我想知道最好的方法是什么,当一个页面已经完成加载时,检测该页面是否在不同的选项卡或窗口中。。。要加载的页面可以是web上的任何页面,并且不在我的控制之下

我只使用Firefox,我不介意该解决方案是否需要Firefox扩展或Sleep Monkey脚本(我已经添加了配置/命令以允许访问不同域的页面)

下面的代码显示了一个尝试。它有时会检测初始页面何时加载,但当我按“提交”将新页面重新加载到另一个窗口时,它不会检测到

谢谢

<html>
<head>
<script type="text/javascript">

    currentPageObj = window.open("http://www.bbc.co.uk", "currentPage");

    currentPageObj.addEventListener("load", function(){alert("loaded")}, false);

</script>
</head>
<body>

    <form action="http://www.example.com" target="currentPage">
         <input type="submit">
    </form>

</body>
</html>

currentPageObj=窗口。打开(“http://www.bbc.co.uk“,“当前页面”);
currentPageObj.addEventListener(“加载”,函数(){alert(“加载”)},false);

在另一个页面中,只有一个onload事件处理程序,它调用父窗口(
window.opener
)中的方法来执行您想要的操作。e、 g.在子页面中:

window.addEventListener('load', function () {
  if (window.opener && !window.opener.closed)  {
     window.opener.childLoaded();
  }
}, false);

并让childLoad在父窗口中执行您想要的操作。(注意:最好保留对您要处理的窗口的引用,例如初始化
var parentWindow=window;
,因为在窗口之间调用时可能会混淆。)

这两个页面是否来自同一个域?谢谢andrewmu,但是我忘了在另一个窗口中提到,我正在从另一个域加载一个我无法控制的页面,因此我无法编辑此页面。好的。。那就很棘手了。除非您通过服务器进行一些巧妙的代理,并在返回的页面中插入适当的响应。例如,在将响应发送到浏览器之前,将上述内容放入一个脚本标记中,该脚本标记在响应的开始之前插入。