无法设置未定义或空引用的属性“URL”

时间:2015-11-12 16:34:23

标签: javascript

我有一个带有javascript变量和定义函数的窗口:

// in window 1:
<SCRIPT>
var someVariable = "hello, world";
function myFunc(msg) {
    alert(msg);
}
</SCRIPT>

我从第一个窗口中的链接打开第二个窗口,并获取对开启者的引用:

// in window 2:
var windowOpener = window.opener;

第二个窗口打开第三个窗口,它包含以下脚本:

// in window 3:
alert(window.parent.windowOpener.someVariable);

以上行正确打印“hello,world”。但是,然后我尝试在窗口1上执行该功能,因此:

// in window 3:
window.parent.windowOpener.myFunc("hi, world");

抛出以下异常:

“无法设置未定义或空引用的属性'URL'”

我的环境是javascript,Velocity和Struts,因此这些窗口不是通过“window.open”调用打开,而是通过调用转发到vm文件的操作类来打开。我的猜测是它与它有关,但为什么变量引用会起作用而不是函数调用?

1 个答案:

答案 0 :(得分:0)

尝试将函数分配给变量,即

// in window 1:
<SCRIPT>
var someVariable = "hello, world";
var myFunc = function(msg) {
    alert(msg);
}
</SCRIPT>

根据您提供的代码很难说,因为您没有在那里的任何地方设置URL属性。可能是您的环境的配置问题。