我收到错误
严重错误:对象不支持此属性或方法 addeventlistener
在 IE 11 浏览器中访问 InfoPath 表单页面(使用启用 InfoPath 的列表表单,例如 displayifs.aspx)。
此错误特定于 IE 11,页面在 IE 10 及更低版本中正确打开。根据这个 MSDN 帖子,IE 11 支持 addEventListener。
有人对此有想法吗?
我收到错误
严重错误:对象不支持此属性或方法 addeventlistener
在 IE 11 浏览器中访问 InfoPath 表单页面(使用启用 InfoPath 的列表表单,例如 displayifs.aspx)。
此错误特定于 IE 11,页面在 IE 10 及更低版本中正确打开。根据这个 MSDN 帖子,IE 11 支持 addEventListener。
有人对此有想法吗?
不幸的是,这破坏了其他事情。这是我在另一个似乎对我有用的网站上找到的修复程序:
我会说保留X-UA-Compatible
as"IE=8"
并将以下代码添加到母版页的底部:
<script language="javascript">
/* IE11 Fix for SP2010 */
if (typeof(UserAgentInfo) != 'undefined' && !window.addEventListener)
{
UserAgentInfo.strBrowser=1;
}
</script>
这修复了错误core.js
计算UserAgentInfo.strBrowse=3
IE11 的设置并因此支持addEventListener
. 我不完全确定除此之外的细节,但保持 IE=8 和使用此脚本的组合对我有用。手指交叉直到我找到下一个 IE11/SharePoint“错误”!
在修复可用之前(如果有修复)解决此问题的最佳方法是强制用户使用 IE 兼容模式。
最好在母版页中使用<META http-equiv="X-UA-Compatible" content="IE=9">
,以便您网站中的所有页面都能获得解决方法。
当使用 IE 版本 11 访问企业 Intranet 上的React应用程序(使用 jQuery v3.1.1 的 React 版本 16.0.0 的 create-react-app)时,我们也遇到了这个问题。为了解决这个问题,我只是按照下面列出的这个url上的说明进行操作:
通过确保主文件的第一行是:确保将 DOCTYPE 设置为标准模式:<!DOCTYPE html>
通过在 head 标记中包含以下元标记来强制 IE 11 使用最新的内部版本: <meta http-equiv="X-UA-Compatible" content="IE=edge;" />
注意:在本地机器(localhost:3000)上使用 IE 以开发模式访问应用程序时,我没有遇到此问题。该问题仅在访问部署到公司 Intranet 上的 DEV 服务器的应用程序时出现,可能是由于某些公司范围的 Windows 操作系统策略设置和/或 IE Internet 选项。
在母版页使用或全局使用的 JS 文件中添加代码片段。
<script language="javascript">
if (typeof browseris !== 'undefined') {
browseris.ie = false;
}
</script>
有关更多信息,请参阅博客:http ://blogs2share.blogspot.in/2016/11/object-doesnt-support-property-or.html
我面临着类似的问题,令人惊讶的是,这次元标记不起作用。原来我目前合作的公司有这种企业模式设置,它优先于元标记。
我们无法更改设置导致政策问题。幸运的是,我真的不需要任何花哨的功能,只需要 jQuery 的基本用法,所以我的最终解决方案是将其版本切换到 1.12 以获得更好的兼容性。
为我解决这个问题的是,我在加载 core.js shim 之前渲染了一个 React 组件。
import ReactComponent from '.'
import 'core-js/es6'
在 ReactComponent 之前加载 core-js 解决了我的问题
import 'core-js/es6'
import ReactComponent from '.'
我们为 IE11 设置了兼容模式来解决问题:设置>兼容性视图设置>添加您的站点名称或如果您的门户位于 Intranet 中,请选中“在兼容性视图中显示 Intranet 站点”。
IE 版本 11.0.9600.16521
为我们工作,希望这对某人有所帮助。