我想从我创建的另一个HTML网页调用一个函数。
如果第二个Javascript函数是这样的:
function g(x){
alert(x);
}
所以我在第一页尝试了这个:
function f(){
var x = prompt("enter");
testwindow = window.open("otherWebPage.html", "_self");
testwindow.g(x);
}
f();
但它不起作用。我哪里出错了?
(这不是我在页面中的代码,我只是举了一个简单的例子)
答案 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"在当前页面中,已卸载。
卸载的页面无法调用函数。