IE11中的"对象不支持此属性或方法"错误

VSP*_*VSP 30 sharepoint internet-explorer-11

我收到了错误

严重错误:对象不支持此属性或方法addeventlistener

在IE 11浏览器中访问InfoPath表单页面(使用InfoPath启用列表表单,例如displayifs.aspx).

此错误特定于IE 11,页面在IE 10及更低版本中正常打开.根据这篇MSDN帖子,IE 11支持addEventListener.

有人对此有所了解吗?

小智 30

不幸的是,这打破了其他事情.这是我在另一个网站上找到的修复程序似乎对我有用:

我要说保留X-UA-Compatibleas "IE=8"并将以下代码添加到母版页的底部:

<script language="javascript">
    /* IE11 Fix for SP2010 */
    if (typeof(UserAgentInfo) != 'undefined' && !window.addEventListener) 
    {
        UserAgentInfo.strBrowser=1; 
    } 
</script>
Run Code Online (Sandbox Code Playgroud)

这修复了一个错误core.js,错误地计算UserAgentInfo.strBrowse=3IE11的设置,从而支持addEventListener.我不完全确定除此之外的细节,但保持IE = 8和使用此脚本的组合对我有用.手指交叉,直到找到下一个IE11/SharePoint"bug"!


小智 20

在修复程序可用之前解决此问题的最佳方法(如果修复程序出现)是强制用户使用IE兼容模式.

<META http-equiv="X-UA-Compatible" content="IE=9">理想地在主页中使用,以便站点中的所有页面都可以获得解决方法.

  • 这个工作,只是用IE11测试,我把它添加到_Layout.cshtml页面 (2认同)

Ala*_* S. 5

我们在使用 IE 版本 11 访问企业内部网上的React应用程序(create-react-app with react version 16.0.0 with jQuery v3.1.1)时也遇到了这个问题。为了解决这个问题,我只是按照这个url 上的说明进行操作,这些说明也列在下面:

  1. 通过确保主文件的第一行是: <!DOCTYPE html>

  2. 通过在 head 标签中包含以下元标签,强制 IE 11 使用最新的内部版本: <meta http-equiv="X-UA-Compatible" content="IE=edge;" />

注意:在我的本地机器 (localhost:3000) 上使用 IE 以开发模式访问应用程序时,我没有遇到这个问题。该问题仅在访问部署到公司 Intranet 上的 DEV 服务器的应用程序时出现,可能是因为某些公司范围的 Windows 操作系统策略设置和/或 IE Internet 选项。