从IIS部署时,Jquery 2.2.2不从.NET中触发IE

时间:2016-06-28 15:19:48

标签: jquery asp.net internet-explorer iis

我已经看到很多主题与此问题的相似部分,但我还没有找到解决我的确切问题的方法。我有一个在Visual Studio Express 2013 for Web中开发的网站。它包含一些jQuery 2.2.2脚本,用于确定所选文件的文件大小值。这是jQuery:

    $(function() {
    $('#MiscUpload').change(function () {
        if (this.files[0] != null)
        {
        var f = this.files[0]
        if ((f.size || f.fileSize)     > 4096000) {
            $('#UploadSizeLbl').empty()
            $('#UploadSizeLbl').append("File Size: " + ((f.size || f.fileSize) / (1024 * 1024)).toFixed(1) + " MB. Cannot exceed 4 MB. Please reply to your confirmation e-mail with the file or p drive location.")
            $('#UploadSizeLbl').css('color', 'red')
            $('#UploadSizeTxt').val(null)
            $('#MiscUpload').val(null)

        } else {
            $('#UploadSizeLbl').empty()
            $('#UploadSizeLbl').append("File Size: " + ((f.size || f.fileSize) / (1024 * 1024)).toFixed(1) + " MB")
            $('#UploadSizeLbl').css('color', 'green')
            $('#UploadSizeTxt').val((f.size || f.fileSize))
        }}
    })
})

这在IE11中的本地计算机上运行良好。从具有IIS 8.5版的Web服务器(2012 R2)进行部署时,jQuery不会在IE 10或11中启动,并且打开或关闭兼容模式。它不是特定于此代码,还有其他.change和.click函数,它们都不适用于IE。当我在Chrome中运行该网站时,一切都运行良好。 IE可以正确执行代码,因为它在本地而不是从IIS运行时工作正常。没有错误,它根本不会触发。

我尝试将X-UA-Compatibility设置为IE = Edge,还尝试在IIS级别使用IE8和EmulateIE8。

如何让IIS中的jQuery从IE中启动?

编辑:这仍然无效。服务器位于安全区域“本地Intranet”中。默认情况下,用户选中“以兼容模式查看Intranet站点”。当他们在Compat中查看时。模式jQuery不会触发。如果他们取消选中该框,jQuery将会激活。如果他们重新检查那个框,那么jQuery仍然会被激活。

1 个答案:

答案 0 :(得分:0)

服务器位于禁用JavaScript的不同安全区域中。将服务器的主机名或域添加到允许JavaScript的区域(例如受信任的域),或在其所在的区域上启用JavaScript。

要查看网站所在的区域,请导航至该网站,然后从显示网站区域的IE菜单中选择文件 - >属性。