带有IE'的动态javascript;有条件的评论?
我有一个遗留的web应用程序,我正在尝试对其进行一些修改。我在几个页面中添加了一个jQueryUI日期时间选择器()(绑定到文本输入),因此用户可以选择开始/结束日期/时间。我将其配置为使用“选择”框而不是“滑块”进行小时/分钟选择。除了IE8(没有在早期版本的IE中测试过)之外,它在我测试过的所有浏览器中都可以正常工作。在IE8中,对日期选择的响应非常慢。以下是创建日期时间选择器的javascript代码:带有IE'的动态javascript;有条件的评论?,javascript,jquery-ui,internet-explorer-8,conditional-comments,Javascript,Jquery Ui,Internet Explorer 8,Conditional Comments,我有一个遗留的web应用程序,我正在尝试对其进行一些修改。我在几个页面中添加了一个jQueryUI日期时间选择器()(绑定到文本输入),因此用户可以选择开始/结束日期/时间。我将其配置为使用“选择”框而不是“滑块”进行小时/分钟选择。除了IE8(没有在早期版本的IE中测试过)之外,它在我测试过的所有浏览器中都可以正常工作。在IE8中,对日期选择的响应非常慢。以下是创建日期时间选择器的javascript代码: $("#dtpStart").datetimepicker({ controlTy
$("#dtpStart").datetimepicker({
controlType: "select",
timeFormat: "HH:mm",
stepMinute: 15
});
如果我删除controlType:“select”,
行,小部件默认使用滑块,这样做会加快它在IE8中的使用。因此,我希望只有当用户使用IE>8时,才能包含该行。这样,IE8和更早版本将获得滑块,而IE9+和非IE浏览器将获得选择框
我想我可以通过使用IE的条件评论来做到这一点,但我无法让它发挥作用。我以前从未使用过它们,可能做得不对。我试过以下几种:
$("#dtpStart").datetimepicker({
<!--[if ! IE]><!--> controlType: "select",<!--<![endif]-->
timeFormat: "HH:mm",
stepMinute: 15
});
$(“#dtpStart”).datetimepicker({
控件类型:“选择”,
时间格式:“HH:mm”,
分钟:15
});
没有成功;不管我使用什么浏览器,我最终还是会使用滑块。我猜这是因为当我尝试使用条件注释时,我正在定义DeTeMePikter中间。
有什么建议吗?您可以尝试:
我不相信您可以在脚本标记中使用条件注释。然而,提供了许多替代方法。但正确的方法是在
html
标记上使用条件注释,添加ie8-lte
className并检查var ie8\u lte=document.documentElement.className.indexOf('ie8-lte')>-1
。由于html标记只呈现一次,因此使用datetimepicker
的代码可以更频繁地调用。我已经找到了一种在服务器端执行所需操作的方法(Oracle PL/SQL生成页面)。但是这个链接非常有用,看起来这个对我来说很有用(所以我会选择它作为答案)。
var datetimePickerObject = {
controlType: "select",
timeFormat: "HH:mm",
stepMinute: 15
};
/*@cc_on
delete datetimePickerObject.controlType;
@*/
$("#dtpStart").datetimepicker(datetimePickerObject);