📄 debug.js
字号:
/* Copyright (c) 2004-2006, The Dojo Foundation All Rights Reserved. Licensed under the Academic Free License version 2.1 or above OR the modified BSD license. For more information on Dojo licensing, see: http://dojotoolkit.org/community/licensing.shtml*/dojo.debug = function(/*...*/){ // summary: // Produce a line of debug output. Does nothing unless // djConfig.isDebug is true. Accepts any nubmer of args, joined with // '' to produce a single line of debugging output. Caller should not // supply a trailing "\n". if (!djConfig.isDebug) { return; } var args = arguments; if(dj_undef("println", dojo.hostenv)){ dojo.raise("dojo.debug not available (yet?)"); } var isJUM = dj_global["jum"] && !dj_global["jum"].isBrowser; var s = [(isJUM ? "": "DEBUG: ")]; for(var i=0;i<args.length;++i){ if(!false && args[i] && args[i] instanceof Error){ var msg = "[" + args[i].name + ": " + dojo.errorToString(args[i]) + (args[i].fileName ? ", file: " + args[i].fileName : "") + (args[i].lineNumber ? ", line: " + args[i].lineNumber : "") + "]"; } else { try { var msg = String(args[i]); } catch(e) { if(dojo.render.html.ie) { var msg = "[ActiveXObject]"; } else { var msg = "[unknown]"; } } } s.push(msg); } dojo.hostenv.println(s.join(" "));}/** * this is really hacky for now - just * display the properties of the object**/dojo.debugShallow = function(/*Object*/obj){ // summary: // outputs a "name: value" style listing of all enumerable properties // in obj. Does nothing if djConfig.isDebug == false. // obj: the object to be enumerated if (!djConfig.isDebug) { return; } dojo.debug('------------------------------------------------------------'); dojo.debug('Object: '+obj); var props = []; for(var prop in obj){ try { props.push(prop + ': ' + obj[prop]); } catch(E) { props.push(prop + ': ERROR - ' + E.message); } } props.sort(); for(var i = 0; i < props.length; i++) { dojo.debug(props[i]); } dojo.debug('------------------------------------------------------------');}dojo.debugDeep = function(/*Object*/obj){ // summary: // provides an "object explorer" view of the passed obj in a popup // window. // obj: the object to be examined if (!djConfig.isDebug) { return; } if (!dojo.uri || !dojo.uri.dojoUri){ return dojo.debug("You'll need to load dojo.uri.* for deep debugging - sorry!"); } if (!window.open){ return dojo.debug('Deep debugging is only supported in host environments with window.open'); } var idx = dojo.debugDeep.debugVars.length; dojo.debugDeep.debugVars.push(obj); // dojo.undo.browser back and forward breaks relpaths var url = new dojo.uri.Uri(location, dojo.uri.dojoUri("src/debug/deep.html?var="+idx)).toString(); var win = window.open(url, '_blank', 'width=600, height=400, resizable=yes, scrollbars=yes, status=yes'); try{ win.debugVar = obj; }catch(e){}}dojo.debugDeep.debugVars = [];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -