各种函数的Javascript错误

时间:2014-01-11 16:00:54

标签: javascript

有人可以帮我解决一些javascript函数中的一些错误: 我将指出哪个函数,错误与脚本中写的脚本的链接。这些 功能完美运行,但这些错误出现在Web开发人员工具中。

(1)调用Flexslider js,这是函数:

  

错误:未捕获的ReferenceError:未定义SyntaxHighlighter

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

(2)ERROR - 此脚本用于禁用右键。 整个脚本可以在这里看到:http://jsfiddle.net/DQ6EX/

 captureEvents() is deprecated. This method doesn't do anything.

(3)错误 - event.returnValue is deprecated. Please use the standard event.preventDefault() instead.第3345行

http://code.jquery.com/jquery-1.9.1.js

 // by a handler lower down the tree; reflect the correct value.


this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false ||
            src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse;

1 个答案:

答案 0 :(得分:1)

回答#(1)

您必须像演示页http://alexgorbatchev.com/SyntaxHighlighter/manual/demo/中所说的那样使用自动加载器 您不必仅使用所有要格式化的代码 对于每种格式,您需要一个特定的javascript文件,其开头类似于shXXX.js

function path()
{
    var args = arguments,
        result = []
        ;

    for(var i = 0; i < args.length; i++)
        result.push(args[i].replace('@', '/pub/sh/current/scripts/'));

    return result
};

SyntaxHighlighter.autoloader.apply(null, path(
    'applescript            @shBrushAppleScript.js',
    'actionscript3 as3      @shBrushAS3.js',
    'bash shell             @shBrushBash.js',
    'coldfusion cf          @shBrushColdFusion.js',
    'cpp c                  @shBrushCpp.js',
    'c# c-sharp csharp      @shBrushCSharp.js',
    'css                    @shBrushCss.js',
    'delphi pascal          @shBrushDelphi.js',
    'diff patch pas         @shBrushDiff.js',
    'erl erlang             @shBrushErlang.js',
    'groovy                 @shBrushGroovy.js',
    'java                   @shBrushJava.js',
    'jfx javafx             @shBrushJavaFX.js',
    'js jscript javascript  @shBrushJScript.js',
    'perl pl                @shBrushPerl.js',
    'php                    @shBrushPhp.js',
    'text plain             @shBrushPlain.js',
    'py python              @shBrushPython.js',
    'powershell ps posh     @shBrushPowerShell.js',
    'ruby rails ror rb      @shBrushRuby.js',
    'sass scss              @shBrushSass.js',
    'scala                  @shBrushScala.js',
    'sql                    @shBrushSql.js',
    'vb vbnet               @shBrushVb.js',
    'xml xhtml xslt html    @shBrushXml.js'
));
SyntaxHighlighter.all();

回答#(2)

关于captureEvents()的弃用警告只是因为它适用于旧的Netscape浏览器我不会担心它,毕竟只是一个警告。

这实际上是正确的,只是当把东西放在jsfiddle中时不要使用<script> </script>标签,它会自动为你做这些。
另外你应该使用<script type="text/javascript">...</script>,它甚至告诉你在尝试以黄色使用此错误时不要使用它们

  

输入纯JavaScript代码,无HTML。

var isNS = (navigator.appName == "Netscape") ? 1 : 0;

if(navigator.appName == "Netscape") document.captureEvents(Event.MOUSEDOWN||Event.MOUSEUP);

function mischandler(){
return false;
}

function mousehandler(e){
var myevent = (isNS) ? e : event;
var eventbutton = (isNS) ? myevent.which : myevent.button;
if((eventbutton==2)||(eventbutton==3)) return false;
}
document.oncontextmenu = mischandler;
document.onmousedown = mousehandler;
document.onmouseup = mousehandler;