对象不支持属性或方法' addEventListener'

时间:2015-03-29 23:36:56

标签: sharepoint-2013 internet-explorer-11 infopath

尝试为客户修复此错误;

他们有一个SharePoint 2013内部网,它有内部和外部网址。

当他们在内部打开表单(使用IE11)时,它可以正常工作。但是,如果他们使用外部网址,则会出现严重错误,并且"对象的详细信息不支持属性或方法' addEventListener'"

之前我做了一个快速搜索,我发现的唯一的东西是

a)使用兼容模式

b)将以下脚本添加到母版页

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

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

c)关闭启用保护模式,确保站点位于受信任站点。检查禁用脚本调试(即)并禁用脚本调试(其他),并取消选中&#39;显示有关每个脚本错误的通知&#39;选项。

我已尝试过两次迭代的脚本,并且都没有解决问题 - UserAgentInfo未定义,而且!window.addEventListener的计算结果为false。 我也尝试在c)中设置所有选项 - 这也不起作用。

兼容模式真的是我唯一的选择吗? 内部和外部网站之间可能存在什么差异,哪一个发生在一个网站上,而不是另一个网站?

提前感谢您提供任何帮助 - 我真的非常难过。

1 个答案:

答案 0 :(得分:0)

UserAgentInfo是一个函数,在使用它之前需要(由SharePoint)定义。如果您检查页面的源代码,您应该看到如下代码:

function UserAgentInfo() {} UserAgentInfo.strBrowser = 3;UserAgentInfo.strBrowserType = 3;UserAgentInfo.intBrowserRmj = 11;

您的代码段必须放在此之后。尝试将代码放在</body>标记之前的最后一页。