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

📄 console.js

📁 linux下开源浏览器WebKit的源码,市面上的很多商用浏览器都是移植自WebKit
💻 JS
📖 第 1 页 / 共 3 页
字号:
        if (Object.type(parameters[0], InspectorController.inspectedWindow()) === "string") {            var formatters = {}            for (var i in String.standardFormatters)                formatters[i] = String.standardFormatters[i];            // Firebug uses %o for formatting objects.            formatters.o = formatForConsole;            // Firebug allows both %i and %d for formatting integers.            formatters.i = formatters.d;            // Support %O to force object formating, instead of the type-based %o formatting.            formatters.O = formatAsObjectForConsole;            function append(a, b)            {                if (!(b instanceof Node))                    a.appendChild(WebInspector.linkifyStringAsFragment(b.toString()));                else                    a.appendChild(b);                return a;            }            var result = String.format(parameters[0], parameters.slice(1), formatters, formattedResult, append);            formattedResult = result.formattedResult;            parameters = result.unusedSubstitutions;            if (parameters.length)                formattedResult.appendChild(document.createTextNode(" "));        }        for (var i = 0; i < parameters.length; ++i) {            if (typeof parameters[i] === "string")                formattedResult.appendChild(WebInspector.linkifyStringAsFragment(parameters[i]));            else                formattedResult.appendChild(formatForConsole(parameters[i]));            if (i < parameters.length - 1)                formattedResult.appendChild(document.createTextNode(" "));        }        return formattedResult;    },    toMessageElement: function()    {        if (this.propertiesSection)            return this.propertiesSection.element;        var element = document.createElement("div");        element.message = this;        element.className = "console-message";        switch (this.source) {            case WebInspector.ConsoleMessage.MessageSource.HTML:                element.addStyleClass("console-html-source");                break;            case WebInspector.ConsoleMessage.MessageSource.WML:                element.addStyleClass("console-wml-source");                break;            case WebInspector.ConsoleMessage.MessageSource.XML:                element.addStyleClass("console-xml-source");                break;            case WebInspector.ConsoleMessage.MessageSource.JS:                element.addStyleClass("console-js-source");                break;            case WebInspector.ConsoleMessage.MessageSource.CSS:                element.addStyleClass("console-css-source");                break;            case WebInspector.ConsoleMessage.MessageSource.Other:                element.addStyleClass("console-other-source");                break;        }        switch (this.level) {            case WebInspector.ConsoleMessage.MessageLevel.Tip:                element.addStyleClass("console-tip-level");                break;            case WebInspector.ConsoleMessage.MessageLevel.Log:                element.addStyleClass("console-log-level");                break;            case WebInspector.ConsoleMessage.MessageLevel.Warning:                element.addStyleClass("console-warning-level");                break;            case WebInspector.ConsoleMessage.MessageLevel.Error:                element.addStyleClass("console-error-level");                break;            case WebInspector.ConsoleMessage.MessageLevel.StartGroup:                element.addStyleClass("console-group-title-level");        }        if (this.elementsTreeOutline) {            element.addStyleClass("outline-disclosure");            element.appendChild(this.elementsTreeOutline.element);            return element;        }        if (this.repeatCount > 1) {            var messageRepeatCountElement = document.createElement("span");            messageRepeatCountElement.className = "bubble";            messageRepeatCountElement.textContent = this.repeatCount;            element.appendChild(messageRepeatCountElement);            element.addStyleClass("repeated-message");        }        if (this.url && this.url !== "undefined") {            var urlElement = document.createElement("a");            urlElement.className = "console-message-url webkit-html-resource-link";            urlElement.href = this.url;            urlElement.lineNumber = this.line;            if (this.source === WebInspector.ConsoleMessage.MessageSource.JS)                urlElement.preferredPanel = "scripts";            if (this.line > 0)                urlElement.textContent = WebInspector.displayNameForURL(this.url) + ":" + this.line;            else                urlElement.textContent = WebInspector.displayNameForURL(this.url);            element.appendChild(urlElement);        }        var messageTextElement = document.createElement("span");        messageTextElement.className = "console-message-text";        messageTextElement.appendChild(this.formattedMessage);        element.appendChild(messageTextElement);        return element;    },    toString: function()    {        var sourceString;        switch (this.source) {            case WebInspector.ConsoleMessage.MessageSource.HTML:                sourceString = "HTML";                break;            case WebInspector.ConsoleMessage.MessageSource.WML:                sourceString = "WML";                break;            case WebInspector.ConsoleMessage.MessageSource.XML:                sourceString = "XML";                break;            case WebInspector.ConsoleMessage.MessageSource.JS:                sourceString = "JS";                break;            case WebInspector.ConsoleMessage.MessageSource.CSS:                sourceString = "CSS";                break;            case WebInspector.ConsoleMessage.MessageSource.Other:                sourceString = "Other";                break;        }        var levelString;        switch (this.level) {            case WebInspector.ConsoleMessage.MessageLevel.Tip:                levelString = "Tip";                break;            case WebInspector.ConsoleMessage.MessageLevel.Log:                levelString = "Log";                break;            case WebInspector.ConsoleMessage.MessageLevel.Warning:                levelString = "Warning";                break;            case WebInspector.ConsoleMessage.MessageLevel.Error:                levelString = "Error";                break;            case WebInspector.ConsoleMessage.MessageLevel.Object:                levelString = "Object";                break;            case WebInspector.ConsoleMessage.MessageLevel.Trace:                levelString = "Trace";                break;            case WebInspector.ConsoleMessage.MessageLevel.StartGroup:                levelString = "Start Group";                break;            case WebInspector.ConsoleMessage.MessageLevel.EndGroup:                levelString = "End Group";                break;        }        return sourceString + " " + levelString + ": " + this.formattedMessage.textContent + "\n" + this.url + " line " + this.line;    },    isEqual: function(msg, disreguardGroup)    {        if (!msg)            return false;        var ret = (this.source == msg.source)            && (this.level == msg.level)            && (this.line == msg.line)            && (this.url == msg.url)            && (this.message == msg.message);        return (disreguardGroup ? ret : (ret && (this.groupLevel == msg.groupLevel)));    }}// Note: Keep these constants in sync with the ones in Console.hWebInspector.ConsoleMessage.MessageSource = {    HTML: 0,    WML: 1,    XML: 2,    JS: 3,    CSS: 4,    Other: 5}WebInspector.ConsoleMessage.MessageLevel = {    Tip: 0,    Log: 1,    Warning: 2,    Error: 3,    Object: 4,    Trace: 5,    StartGroup: 6,    EndGroup: 7}WebInspector.ConsoleCommand = function(command){    this.command = command;}WebInspector.ConsoleCommand.prototype = {    toMessageElement: function()    {        var element = document.createElement("div");        element.command = this;        element.className = "console-user-command";        var commandTextElement = document.createElement("span");        commandTextElement.className = "console-message-text";        commandTextElement.textContent = this.command;        element.appendChild(commandTextElement);        return element;    }}WebInspector.ConsoleCommandResult = function(result, exception, originatingCommand){    var level = (exception ? WebInspector.ConsoleMessage.MessageLevel.Error : WebInspector.ConsoleMessage.MessageLevel.Log);    var message = (exception ? String(result) : result);    var line = (exception ? result.line : -1);    var url = (exception ? result.sourceURL : null);    WebInspector.ConsoleMessage.call(this, WebInspector.ConsoleMessage.MessageSource.JS, level, line, url, null, 1, message);    this.originatingCommand = originatingCommand;}WebInspector.ConsoleCommandResult.prototype = {    toMessageElement: function()    {        var element = WebInspector.ConsoleMessage.prototype.toMessageElement.call(this);        element.addStyleClass("console-user-command-result");        return element;    }}WebInspector.ConsoleCommandResult.prototype.__proto__ = WebInspector.ConsoleMessage.prototype;WebInspector.ConsoleGroup = function(parentGroup, level){    this.parentGroup = parentGroup;    this.level = level;    var element = document.createElement("div");    element.className = "console-group";    element.group = this;    this.element = element;    var messagesElement = document.createElement("div");    messagesElement.className = "console-group-messages";    element.appendChild(messagesElement);    this.messagesElement = messagesElement;}WebInspector.ConsoleGroup.prototype = {    addMessage: function(msg)    {        var element = msg.toMessageElement();                if (msg.level === WebInspector.ConsoleMessage.MessageLevel.StartGroup) {            this.messagesElement.parentNode.insertBefore(element, this.messagesElement);            element.addEventListener("click", this._titleClicked.bind(this), true);        } else            this.messagesElement.appendChild(element);        if (element.previousSibling && msg.originatingCommand && element.previousSibling.command === msg.originatingCommand)            element.previousSibling.addStyleClass("console-adjacent-user-command-result");    },    _titleClicked: function(event)    {        var groupTitleElement = event.target.enclosingNodeOrSelfWithClass("console-group-title-level");        if (groupTitleElement) {            var groupElement = groupTitleElement.enclosingNodeOrSelfWithClass("console-group");            if (groupElement)                if (groupElement.hasStyleClass("collapsed"))                    groupElement.removeStyleClass("collapsed");                else                    groupElement.addStyleClass("collapsed");            groupTitleElement.scrollIntoViewIfNeeded(true);        }        event.stopPropagation();        event.preventDefault();    }}

⌨️ 快捷键说明

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