gpt4 book ai didi

javascript - Android 网页 View : console is not defined

转载 作者:行者123 更新时间:2023-11-28 07:18:50 25 4
gpt4 key购买 nike

我尝试在 Android Webview 中打开带有一些 javascript 的 html,并在实现我的 WebChromeClient 的 onConsoleMessage 后收到以下错误:

Uncaught ReferenceError: console is not defined -- From line 10 of file:///storage/sdcard0/TargetApp/e184bae3-5824-4e23-a26e-820ce6d32aa2/pres/fce4da510de8431bB3eeD5bdbd1c695d/fce4da510de8431bB3eeD5bdbd1c695d/html/js/target/util_Q_3bb82a6eabd3339d91ca15cb4fd6685c.js

遵循我文件的第 10 行:

console = console ? console : { log : function() {}, debug : function() {}}; 

奇怪的是,相同的代码在浏览器和 IOS webview 上完美运行。

有人可以给我一些关于正在发生的事情的提示吗?

最佳答案

抱歉大家,不幸的是我的代码示例不完整。问题是 javascript 设置了严格模式

(function($) {

'use strict';

/*
*
*/
jQuery.ajaxSettings.traditional = true;

console = console ? console : { log : function() {}, debug : function() {}};

window.c = console;

/*
* ...
*/

规范说明:

With strict mode, you can not, for example, use undeclared variables.

所以,正确的做法是:

var console = window.console = window.console ? window.console : { log : function() {}, debug : function() {}};

唯一仍然悬而未决的问题是为什么其他浏览器(例如 Chrome、Firefox 和 ios)它也能工作

关于javascript - Android 网页 View : console is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30530894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com