我如何从IE隐藏javascript的一部分

how can I hide a part of javascript from IE

本文关键字:javascript 一部分 隐藏 IE      更新时间:2023-09-26

这是我打开jquery对话框的javascript函数。

   ('#dialog').append(iframe).appendTo("body").dialog({
          autoOpen: false,
          modal: true,
          resizable: false,
          show: 'slide',        
          width: 800,       
          height: 700,        
         close: function() {           
    }   
});             
$('#dialog_click').click("callback",function() {            
   $('#dialog').dialog('open');                 
   return false;
}); 

如何在IE中隐藏show: 'slide,部件

var options = {
          autoOpen: false,
          modal: true,
          resizable: false,       
          width: 800,       
          height: 700,        
         close: function() {           
    }   
};
if ( ! $.browser.msie){
  options ['show'] = 'slide';
}
$('#dialog').append(iframe).appendTo("body").dialog(options);  

try this

if ( ! $.browser.msie){
  $( "#dialog" ).dialog( "option", "show", "slide" )
} 

jquery已从version>= 1.9删除对jquery .browser.msie的支持

var opts = {
    autoOpen : false,
    modal : true,
    resizable : false,
    show : 'slide',
    width : 800,
    height : 700,
    close : function() {
    }
};
if (!/msie/.test(window.navigator.userAgent)) {
    opts.show = 'slide';
}
('#dialog').append(iframe).appendTo("body").dialog(opts);
$('#dialog_click').click("callback", function() {
    $('#dialog').dialog('open');
    return false;
});
$('#dialog').append(iframe).appendTo("body").dialog({
          autoOpen: false,
          modal: true,
          resizable: false,       
          width: 800,       
          height: 700,        
         close: function() {           
    } 
});
if(!$.browser.msie) {
     $( "#dialog" ).dialog( "option", "show", "slide" );
}

对此有几个解决方案(条件注释整个脚本,稍后更改属性等),但没有人发布了一个解决方案,完全符合您的要求:仅在IE 中排除javascript的一部分。

然后看看这个:

   ('#dialog').append(iframe).appendTo("body").dialog({
          autoOpen: false,
          modal: true,
          resizable: false,
        /*@cc_on @*/
        /*@if (true)
        @else @*/
          show: 'slide',        
        /*@end @*/
          width: 800,       
          height: 700,        
         close: function() {           
    }   
});             
$('#dialog_click').click("callback",function() {            
   $('#dialog').dialog('open');                 
   return false;
}); 

IE不包含show: 'slide',,而non-IE浏览器不会读取 Conditional Compilation Statements ,因此条件将落在(未注释的)else部分。

阅读更多关于条件编译语句

你可以做几件事。

首先是条件注释,即

<!--[if !IE ]>
    <script>
       $('#dialog').append(iframe).appendTo("body").dialog({
         autoOpen: false,
         modal: true,
         resizable: false,
         show: 'slide',        
         width: 800,       
         height: 700,        
         close: function() {           
         }   
       });             
       $('#dialog_click').click("callback",function() {            
         $('#dialog').dialog('open');                 
         return false; 
       }); 
    </script>
<![endif]-->

或者你可以检查jquery浏览器变量,正如其他人所指出的。

如果你是这样做的,你真的想要针对旧版本的IE你可以使用一些特定的函数(如attachEvent)