⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 firebug.js

📁 验证规则 jquery-validate
💻 JS
📖 第 1 页 / 共 2 页
字号:
    function logFormatted(objects, className)    {        var html = [];        var format = objects[0];        var objIndex = 0;        if (typeof(format) != "string")        {            format = "";            objIndex = -1;        }        var parts = parseFormat(format);        for (var i = 0; i < parts.length; ++i)        {            var part = parts[i];            if (part && typeof(part) == "object")            {                var object = objects[++objIndex];                part.appender(object, html);            }            else                appendText(part, html);        }        for (var i = objIndex+1; i < objects.length; ++i)        {            appendText(" ", html);                        var object = objects[i];            if (typeof(object) == "string")                appendText(object, html);            else                appendObject(object, html);        }                logRow(html, className);    }    function parseFormat(format)    {        var parts = [];        var reg = /((^%|[^\\]%)(\d+)?(\.)([a-zA-Z]))|((^%|[^\\]%)([a-zA-Z]))/;            var appenderMap = {s: appendText, d: appendInteger, i: appendInteger, f: appendFloat};        for (var m = reg.exec(format); m; m = reg.exec(format))        {            var type = m[8] ? m[8] : m[5];            var appender = type in appenderMap ? appenderMap[type] : appendObject;            var precision = m[3] ? parseInt(m[3]) : (m[4] == "." ? -1 : 0);            parts.push(format.substr(0, m[0][0] == "%" ? m.index : m.index+1));            parts.push({appender: appender, precision: precision});            format = format.substr(m.index+m[0].length);        }        parts.push(format);        return parts;    }    function escapeHTML(value)    {        function replaceChars(ch)        {            switch (ch)            {                case "<":                    return "&lt;";                case ">":                    return "&gt;";                case "&":                    return "&amp;";                case "'":                    return "&#39;";                case '"':                    return "&quot;";            }            return "?";        };        return String(value).replace(/[<>&"']/g, replaceChars);    }    function objectToString(object)    {        try        {            return object+"";        }        catch (exc)        {            return null;        }    }    // ********************************************************************************************    function appendText(object, html)    {        html.push(escapeHTML(objectToString(object)));    }    function appendNull(object, html)    {        html.push('<span class="objectBox-null">', escapeHTML(objectToString(object)), '</span>');    }    function appendString(object, html)    {        html.push('<span class="objectBox-string">&quot;', escapeHTML(objectToString(object)),            '&quot;</span>');    }    function appendInteger(object, html)    {        html.push('<span class="objectBox-number">', escapeHTML(objectToString(object)), '</span>');    }    function appendFloat(object, html)    {        html.push('<span class="objectBox-number">', escapeHTML(objectToString(object)), '</span>');    }    function appendFunction(object, html)    {        var reName = /function ?(.*?)\(/;        var m = reName.exec(objectToString(object));        var name = m ? m[1] : "function";        html.push('<span class="objectBox-function">', escapeHTML(name), '()</span>');    }        function appendObject(object, html)    {        try        {            if (object == undefined)                appendNull("undefined", html);            else if (object == null)                appendNull("null", html);            else if (typeof object == "string")                appendString(object, html);            else if (typeof object == "number")                appendInteger(object, html);            else if (typeof object == "function")                appendFunction(object, html);            else if (object.nodeType == 1)                appendSelector(object, html);            else if (typeof object == "object")                appendObjectFormatted(object, html);            else                appendText(object, html);        }        catch (exc)        {        }    }            function appendObjectFormatted(object, html)    {        var text = objectToString(object);        var reObject = /\[object (.*?)\]/;        var m = reObject.exec(text);        html.push('<span class="objectBox-object">', m ? m[1] : text, '</span>')    }        function appendSelector(object, html)    {        html.push('<span class="objectBox-selector">');        html.push('<span class="selectorTag">', escapeHTML(object.nodeName.toLowerCase()), '</span>');        if (object.id)            html.push('<span class="selectorId">#', escapeHTML(object.id), '</span>');        if (object.className)            html.push('<span class="selectorClass">.', escapeHTML(object.className), '</span>');        html.push('</span>');    }    function appendNode(node, html)    {        if (node.nodeType == 1)        {            html.push(                '<div class="objectBox-element">',                    '&lt;<span class="nodeTag">', node.nodeName.toLowerCase(), '</span>');            for (var i = 0; i < node.attributes.length; ++i)            {                var attr = node.attributes[i];                if (!attr.specified)                    continue;                                html.push('&nbsp;<span class="nodeName">', attr.nodeName.toLowerCase(),                    '</span>=&quot;<span class="nodeValue">', escapeHTML(attr.nodeValue),                    '</span>&quot;')            }            if (node.firstChild)            {                html.push('&gt;</div><div class="nodeChildren">');                for (var child = node.firstChild; child; child = child.nextSibling)                    appendNode(child, html);                                    html.push('</div><div class="objectBox-element">&lt;/<span class="nodeTag">',                     node.nodeName.toLowerCase(), '&gt;</span></div>');            }            else                html.push('/&gt;</div>');        }        else if (node.nodeType == 3)        {            html.push('<div class="nodeText">', escapeHTML(node.nodeValue),                '</div>');        }    }    // ********************************************************************************************        function addEvent(object, name, handler)    {        if (document.all)            object.attachEvent("on"+name, handler);        else            object.addEventListener(name, handler, false);    }        function removeEvent(object, name, handler)    {        if (document.all)            object.detachEvent("on"+name, handler);        else            object.removeEventListener(name, handler, false);    }        function cancelEvent(event)    {        if (document.all)            event.cancelBubble = true;        else            event.stopPropagation();            }    function onError(msg, href, lineNo)    {        var html = [];                var lastSlash = href.lastIndexOf("/");        var fileName = lastSlash == -1 ? href : href.substr(lastSlash+1);                html.push(            '<span class="errorMessage">', msg, '</span>',             '<div class="objectBox-sourceLink">', fileName, ' (line ', lineNo, ')</div>'        );                logRow(html, "error");    };    function onKeyDown(event)    {        if (event.keyCode == 123)            toggleConsole();        else if ((event.keyCode == 108 || event.keyCode == 76) && event.shiftKey                 && (event.metaKey || event.ctrlKey))            focusCommandLine();        else            return;                cancelEvent(event);    }    function onSplitterMouseDown(event)    {        if (isSafari || isOpera)            return;                addEvent(document, "mousemove", onSplitterMouseMove);        addEvent(document, "mouseup", onSplitterMouseUp);        for (var i = 0; i < frames.length; ++i)        {            addEvent(frames[i].document, "mousemove", onSplitterMouseMove);            addEvent(frames[i].document, "mouseup", onSplitterMouseUp);        }    }        function onSplitterMouseMove(event)    {        var win = document.all            ? event.srcElement.ownerDocument.parentWindow            : event.target.ownerDocument.defaultView;        var clientY = event.clientY;        if (win != win.parent)            clientY += win.frameElement ? win.frameElement.offsetTop : 0;                var height = consoleFrame.offsetTop + consoleFrame.clientHeight;        var y = height - clientY;                consoleFrame.style.height = y + "px";        layout();    }        function onSplitterMouseUp(event)    {        removeEvent(document, "mousemove", onSplitterMouseMove);        removeEvent(document, "mouseup", onSplitterMouseUp);        for (var i = 0; i < frames.length; ++i)        {            removeEvent(frames[i].document, "mousemove", onSplitterMouseMove);            removeEvent(frames[i].document, "mouseup", onSplitterMouseUp);        }    }        function onCommandLineKeyDown(event)    {        if (event.keyCode == 13)            evalCommandLine();        else if (event.keyCode == 27)            commandLine.value = "";    }        window.onerror = onError;    addEvent(document, isIE || isSafari ? "keydown" : "keypress", onKeyDown);        if (document.documentElement.getAttribute("debug") == "true")        toggleConsole(true);})();}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -