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

问题描述 投票:30回答:7

我收到了错误

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

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

此错误特定于IE 11,页面在IE 10及更低版本中正常打开。根据this MSDN post,IE 11支持addEventListener。

有人对此有所了解吗?

sharepoint internet-explorer-11
7个回答
30
投票

不幸的是,这打破了其他事情。这是我在另一个似乎对我有用的site上发现的修复:

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

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

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


20
投票

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

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


2
投票

在主页面中使用的JS文件中添加代码段或全局使用。

<script language="javascript">
if (typeof browseris !== 'undefined') {
    browseris.ie = false;
}
</script>

有关更多信息,请参阅博客:http://blogs2share.blogspot.in/2016/11/object-doesnt-support-property-or.html


2
投票

当使用IE版本11在企业内部网上访问我们的React应用程序(使用反应版本16.0.0与jQuery v3.1.1创建反应应用程序)时,我们也遇到了这个问题。为了解决这个问题,我只是按照下面列出的url的指示:

  1. 确保将DOCTYPE设置为标准模式,确保主文件的第一行是:<!DOCTYPE html>
  2. 通过在head标记中包含以下元标记强制IE 11使用最新的内部版本:<meta http-equiv="X-UA-Compatible" content="IE=edge;" />

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


1
投票

解决这个问题的原因是我在我的core.js shim被加载之前有一个React组件。

import ReactComponent from '.'
import 'core-js/es6'

在ReactComponent修复我的问题之前加载core-js

import 'core-js/es6'
import ReactComponent from '.'

1
投票

我面对类似的问题,令人惊讶的是这次meta标签不起作用。事实证明,我目前与之合作的公司有这个enterprise mode setting,它优先于meta标签。

我们无法更改设置原因政策问题。幸运的是,我真的不需要任何花哨的功能,但jQuery的基本用法,所以我的最终解决方案是将其版本切换到1.12以获得更好的兼容性。

ref:jQuery - Browser support


0
投票

我们为IE11设置了兼容模式以解决问题:设置>兼容性视图设置>添加站点名称或检查“在兼容性视图中显示Intranet站点”(如果您的门户网站位于Intranet中)。

IE版本11.0.9600.16521

为我们工作,希望这有助于某人。

© www.soinside.com 2019 - 2024. All rights reserved.