无法基于JavaScript IE识别激活事件

时间:2016-04-18 08:10:43

标签: javascript jquery razor asp.net-mvc-5

我正在尝试在我的MVC项目中添加textarea resizer插件,但仅适用于IE,因为其他浏览器都有内置的。为了做到这一点,我必须检查浏览器是否是IE浏览器。

我使用了本文中的JS: How to detect IE11?

所以这就是我使用的:

function getInternetExplorerVersion() {
    var rv = -1;
    if (navigator.appName == 'Microsoft Internet Explorer') {
        var ua = navigator.userAgent;
        var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
        if (re.exec(ua) != null)
            rv = parseFloat(RegExp.$1);
    }
    else if (navigator.appName == 'Netscape') {
        var ua = navigator.userAgent;
        var re = new RegExp("Trident/.*rv:([0-9]{1,}[\.0-9]{0,})");
        if (re.exec(ua) != null)
            rv = parseFloat(RegExp.$1);
    }
    return rv;
}
function checkVersion() {
    var msg = "You're not using Internet Explorer.";
    var rv = getInternetExplorerVersion();

    if (rv > -1) {
        msg = "You are using IE " + ver;
    }
    alert(msg);
}

我将它插入我的脚本文件夹中,然后通过脚本部分中的这一行访问它:

<script type="text/javascript" src="~/Scripts/checkIEVersion.js"></script>

然后我尝试在pageload上实现它:

<body onload="checkVersion()">

问题是,没有任何反应。我应该得到警报,但我没有错误,没有任何错误。当我只使用两个函数的底部时(在“脚本”部分中使用“@(document).ready”,它确实正确加载。

你能帮助我吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

原来我也必须包括这个:

$(document).ready(function () {
                    window.onload = function () {
                        checkVersion();
                    }
                });