在该窗口打开窗口并运行功能

时间:2016-07-06 10:39:00

标签: javascript jquery angularjs

我想打开一个新窗口,这个窗口有一个对象列表,这些对象应该根据前一个窗口的选择进行过滤。我想我可以通过一个函数过滤列表,但是如何运行这个函数呢?

这是我能够做到的:

var popup = window.open('pageURL');
    $(popup.document).ready(function() {
        // this is where function should be
        popup.alert('HelloWorld');
    });

但是如何将警报更改为功能?

如果我在其他应用上有功能,function test() { alert('HelloWorld'}; 如何从我的第一个应用程序运行此功能?

popup.alert('HelloWorld');交换popup.test();无效。

2 个答案:

答案 0 :(得分:0)

您需要引用打开的窗口来调用新窗口中的函数,例如:

var oNewWindow = window.open("new.window.url", "mywindow");
oNewWindow.onload = function(){oNewWindow.window.newWindowFunction();};

答案 1 :(得分:0)

我最终得到了这个解决方案

var popup = window.open('http://s234-0057/actiontracker/SiteAssets/Avvik/html/app.aspx');

var readyStateCheckInterval = setInterval(function() {
    if (popup.document.readyState === "complete") {
        clearInterval(readyStateCheckInterval);
        popup.test();
    }
}, 50);

我检查弹出窗口是否准备就绪,取消检查并运行功能。解决方案来自top answer on this question,@ this.lau _