有人可以帮我解决一些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;
答案 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;