如何从另一个HTML页面调用函数?

时间:2015-01-11 22:02:32

标签: javascript html function window.open

我想从我创建的另一个HTML网页调用一个函数。

如果第二个Javascript函数是这样的:

function g(x){
   alert(x);
}

所以我在第一页尝试了这个:

function f(){
    var x = prompt("enter");
    testwindow = window.open("otherWebPage.html", "_self");
    testwindow.g(x);
}
f();

但它不起作用。我哪里出错了?

(这不是我在页面中的代码,我只是举了一个简单的例子)

2 个答案:

答案 0 :(得分:3)

问题是您在testwindow.g中的代码运行之前正在调用otherWebPage.html。您需要等待必要的功能可用。

有几种方法可以做到这一点,但这里有一个简单的例子,说明如何通过等待load事件来做到这一点。

function f(){
    var x = prompt("enter");
    testwindow = window.open("otherWebPage.html", "_self");
    testwindow.addEventListener('load', function(){
        testwindow.g(x);
    });
}
f();

答案 1 :(得分:1)

问题在于

window.open("otherWebPage.html", "_self");

加载" otherWebPage.html"在当前页面中,已卸载。

卸载的页面无法调用函数。