MVC3应用程序和javascript问题

MVC3 application and javascripts issue

本文关键字:问题 javascript 应用程序 MVC3      更新时间:2023-09-26

我有以下问题:

一个ASP.NET MVC3应用程序,在_Layout.cshtml的头部分,我引用了几个javascript脚本,如下所示:

<script src="@Url.Content("~/Scripts/app/app.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/app/listEnveloppe.js")" type="text/javascript"></script>

在app.js中,我定义了如下的应用程序对象:

var App = {
init: function () {
    if (window.console == undefined) {
        window.console = {
            log: function () {
                var str = '';
                for (var i in arguments[0]) {
                    str += i + ':'t' + arguments[0][i] + ''n';
                }
                alert(str);
            }
        };
    }
/* ....*/
}

然后应用程序对象在listEnveloppe.js中被引用,如下所示

App.listEnveloppe = new Function;

问题是,这个代码可以在FF和Chrome上使用,但不能在IE8 中使用

有人知道会出什么问题吗?

感谢

Function构造函数中可能缺少括号?

App.listEnveloppe = new Function(); // <----- missing () ?

由于情况并非如此,请尝试将App声明(并引用)为window的属性。并以一种相对于脚本声明顺序的不可知方式进行:

// In app.js:
var appInstance = window.App || {};
appInstance.init = function () {
};
// In listEnveloppe.js:
var appInstance = window.App || {};
appInstance.listEnveloppe = new Function();

您有一些未闭合的括号。尝试修复javascript:

var App = {
    init: function () {
        if (window.console == undefined) {
            window.console = {
                log: function () {
                    var str = '';
                    for (var i in arguments[0]) {
                        str += i + ':'t' + arguments[0][i] + ''n';
                    }
                    alert(str);
                }
            };
        }
    }
    /* ....*/
};