如何隐藏IE的一部分javascript

时间:2013-04-18 11:44:04

标签: javascript jquery internet-explorer

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

   ('#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,部分?

6 个答案:

答案 0 :(得分:2)

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);  

答案 1 :(得分:2)

试试这个

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

答案 2 :(得分:2)

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

答案 3 :(得分:2)

jquery已从版本> = 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;
});

答案 4 :(得分:2)

有几种解决方法(整个脚本的条件注释,稍后更改属性等)但是没有人发布了一个完全符合您要求的解决方案:排除部分仅在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 ,因此条件会落入(未评论)其他部分。

详细了解Conditional Compilation Statements

答案 5 :(得分:0)

你可以做几件事。

首先是条件评论,即

<!--[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)