5

我正在使用 ios-webkit-debug-proxy 和 remotedebug-ios-webkit 适配器在 Linux 上从 Chrome Devtools 调试运行 Safari 的 IOS iPad。

它连接了,我可以查看 DOM 等,但 console.log() 消息不会显示在控制台中。我可以看到隐藏消息数量增加,但我找不到查看消息的方法。

它最初可以工作,但已停止。我尝试通过“设置->首选项->开发工具->恢复默认值并重新加载”将开发工具重置为默认值,但没有运气。

请看截图: chrome devtools 截图

任何帮助,将不胜感激。

4

3 回答 3

1

我可以通过更改onConsoleMessageAdded文件中的功能来解决此问题ios.ts

更新了一段代码

let message = msg.params.message;
    let type;
    let method = "Runtime.consoleAPICalled";
    if(message.type === "log") {
        switch(message.level) {
                case "log": type = "log"; break;
                case "info": type = "info"; break;
                case "error": type = "error"; break;
                default: type = "log";
        }
    } else {
        type = message.type;
    }

    const consoleMessage = {
        source: message.source,
        level: type,
        text: message.text,
        lineNumber: message.line,
        timestamp: (new Date).getTime(),
        url: message.url,
        stackTrace: message.stackTrace ? {
            callFrames: message.stackTrace
        } : undefined,
        args:message.parameters,
        networkRequestId: message.networkRequestId,
    };
    if(type == "error"){
        method = "Log.entryAdded"; 
        this._target.fireEventToTools(method, {entry:consoleMessage});
    }else
        this._target.fireEventToTools(method, consoleMessage);
    
    return Promise.resolve(null);
}
于 2020-12-14T16:05:27.713 回答
1

与其他答案类似,console.info似乎可以代替标准console.log

如果您console.log = console.info;在记录任何内容之前运行,它将按预期工作。

于 2022-01-05T18:08:54.520 回答
-1

您可以使用 console.error 代替 console.log。

于 2020-10-29T06:47:54.080 回答