Telerik DatePicker在IE 10中无法正常工作

13
在我的ASP.NET网站中,我使用Telerik控件来绑定日期和时间选择器,在除了IE 10之外的所有浏览器中都有效,然后我运行脚本调试器时发现它显示js错误:

SCRIPT5007:无法获取未定义或空引用的“documentElement”属性 Telerik.Web.UI.WebResource.axd,第166行第2个字符

有人知道如何解决这个问题吗?

非常感谢!

6个回答

14

我在我的web.config文件(system.webServer部分)中添加了以下行:

<httpProtocol>
  <customHeaders>
    <clear />
    <add name="X-UA-Compatible" value="IE=9" />
  </customHeaders>
</httpProtocol>   

问题得到了解决。


1
不幸的是,它对我没有起作用。有其他替代方案吗? - Milind Anantwar

2

以下是我在Telerik论坛上的回复:

对于像我们一样,目前无法采用兼容模式或升级的人,我们有一个JavaScript补丁,它依赖于jQuery。

$(function(){
    if (typeof(window.$telerik.getLocation) == 'function' && Sys.Browser.agent == Sys.Browser.InternetExplorer && Sys.Browser.version == 10) {
        window.$telerik.getLocation = function(a)
        {
            if (a === document.documentElement) {
                return new Sys.UI.Point(0, 0);
            }
            var offset = $(a).offset();        
            return new Sys.UI.Point(offset.left, offset.top);
        }
    }
});

可能的问题之一是,当日期或时间选择器元素淡出时,你可以看到它后面的iframe中有未经样式处理的单词“false”。如果你决定使用此补丁,请记住并注意这一点。

在我们的调查中,我们还注意到,这个版本的RadDatePicker在IE11上运行良好,但在IE10上不行。

原始帖子在这里:http://www.telerik.com/community/forums/aspnet-ajax/general-discussions/getting-a-unable-to-get-property-documentelement-of-undefined-or-null-reference-error.aspx


我应该把这段代码放在哪里?只需要放在任何脚本块中吗,还是必须放在特定的位置? - Eric Burdo

2
这里找到了解决方案。
将以下代码插入<head>标签中: <meta http-equiv="x-ua-compatible" content="IE=9">

1
ihorko的答案对我很有用。在windows 2008服务器(IIS 7)上执行ihorko建议的操作。如果您使用的是Windows 2003服务器(IIS 6),请使用以下命令:cscript adsutil.vbs set w3svc/HttpCustomHeaders "X-Powered-By: ASP.NET" "X-UA-Compatible: IE=9"。您可以将该行放入bat文件中,并从c:\inetpub\adminscripts文件夹运行它。Telerik套件的升级并不像支付账单和复制新dll那么简单。新版本的行为可能会有所不同,应进行测试。使用Telerik表单装饰器时,布局可能会发生变化(之前的边距“错误”已得到解决,但通过代码进行更正后,此更正将导致升级后的布局失真)。

1

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接