无法设置属性'URL'的未定义引用或null引用

Unable to set property 'URL' of undefined or null reference

本文关键字:引用 null 未定义 设置 URL 属性      更新时间:2023-09-26

我有一个窗口,其中定义了一个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);

上面的行正确地打印了"你好,世界"。然而,我随后尝试在窗口1上执行该功能,因此:

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

这引发了以下异常:

"无法设置未定义或null引用的属性'URL'"

我的环境是javascript、Velocity和Struts,所以这些窗口不是通过"window.open"调用打开的,而是通过调用转发到vm文件的操作类打开的。我的猜测是这与此有关,但为什么变量引用有效,而函数调用无效?

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

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

根据您提供的代码,很难说其他情况,因为您没有在其中的任何位置设置URL属性。。可能是您的环境的配置问题。