2012-12-28 37 views
0

我有这2个代码在Internet Explorer 8上向我返回“脚本错误警报”。请问(或缺少)什么错误?ie8上的jquery脚本错误

<script> 
$(".alert").alert('close'); 
</script> 

<script type="text/javascript"> 
    var $j = jQuery.noConflict() 

    $j(function(){ 
     SyntaxHighlighter.all(); 
    }); 
    $j(window).load(function(){ 
     $j('.flexslider').flexslider({ 
      animation: "slide", 
      start: function(slider){ 
       $('body').removeClass('loading'); 
      } 
     }); 
    }); 
</script> 

第二我知道那是因为这个(但我不知道为什么?):

SyntaxHighlighter.all(); 

这:

$('body').removeClass('loading'); 
+2

$( “警报”)警报( '关闭');那是什么..?你想做什么 ..? –

+2

什么是SyntaxHighlighter.all(); ?和它的定义在哪里? –

+0

[如何解决Internet Explorer中的脚本错误](http://support.microsoft.com/kb/308260) –

回答

1

如果SyntaxHighlighter.all();导致问题,那么您可能已经忘记加载定义为SyntaxHighlighter的JavaScript,或者情况与您尝试使用的情况不同。

此:

$('body').removeClass('loading'); 

将是一个问题,因为你已经叫noConflict,这将返回$到不管它是之前的jQuery试图抢过来。您应该使用$jnoConflict给你:

$j('body').removeClass('loading'); 
-1

我不知道这是否是问题,但在下面一行末尾没有分号:

var $j = jQuery.noConflict() 
+0

分号结束符实际上在JavaScript中实际上是可选的。将它们排除在外通常不是一个好主意,但大多数情况下你并不需要它们。 –