Dotnetnuke 模块 Javascript 命名空间

Dotnetnuke Module Javascript Namespace

我有两个引用 Javascript 函数调用的 dotnetnuke 模块。我想使用这个答案 Whosebug881515 from Jaco Pretorius, which goes back to this Document: Javascript Habits

中的命名空间解决方案

但是我的实现不起作用。我已经搜索了几个小时,但找不到问题所在。如果我从 Module1 调用函数 ns.testfunc,那么它就可以工作。但从 Module2 开始,它不起作用。

我的示例代码:

Javascript 来自模块 1 的代码:

(function(ns, $ , undefined){
    ns.testfunc = function(param){
        alert ("ns.testfunc, param: " + param);
    };
}(window.ns = window.ns || {}, jQuery));

Javascript 来自模块 2 的代码:

(function (ns, $, undefined) {
    ns.testfunc("call from other .ascx");
}(window.ns = window.ns || {}, jQuery));

但是我收到这个错误:

Unhandled exception at line 241, column 9 in http://localhost:10127/mypage

0x800a01b6 - Laufzeitfehler in JavaScript: Das Objekt unterstützt die Eigenschaft oder Methode "testfunc" nicht

其中一个模块也有第三方代码,这似乎是另一个问题。我现在用新模块尝试了它并且它正在工作。所以我必须深入一点...