[英]Android Webview: console is not defined
我正在尝试在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;
/*
* ...
*/
规范说:
在严格模式下,例如,您不能使用未声明的变量。
因此,正确的方法是:
var console = window.console = window.console ? window.console : { log : function() {}, debug : function() {}};
唯一仍未解决的问题是,为什么其他浏览器(例如Chrome,Firefox和ios)可以正常工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.