Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有IE'的动态javascript;有条件的评论?_Javascript_Jquery Ui_Internet Explorer 8_Conditional Comments - Fatal编程技术网

带有IE'的动态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

我有一个遗留的web应用程序,我正在尝试对其进行一些修改。我在几个页面中添加了一个jQueryUI日期时间选择器()(绑定到文本输入),因此用户可以选择开始/结束日期/时间。我将其配置为使用“选择”框而不是“滑块”进行小时/分钟选择。除了IE8(没有在早期版本的IE中测试过)之外,它在我测试过的所有浏览器中都可以正常工作。在IE8中,对日期选择的响应非常慢。以下是创建日期时间选择器的javascript代码:

$("#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);