gpt4 book ai didi

jquery - Cordova 2.9.0 缺少执行 :Logger. logLevel

转载 作者:行者123 更新时间:2023-12-01 01:47:52 25 4
gpt4 key购买 nike

我正在 WebStorm 6.0.2 中开发一个移动应用程序,基于 Cordova 2.9.0 和 JQuery 2.0.3 - 全部在 OSX 上。生成的应用程序正在 Ripple 中进行测试。

我的问题:例如,如果我向控制台发送一些内容

console.log('TEST');

然后我在日志中收到错误:缺少 exec:Logger.logLevel。更糟糕的是,这个错误在 Ripple 中以弹出窗口的形式显示(“Logger.logLevel - 我们似乎丢失了一些东西”),这使得调试非常困难。

如果我使用与早期版本的 Cordova (2.5.0) 完全相同的项目,则不会出现同样的错误。所以看来这个问题是 Cordova 特有的,没有使用其他软件。

我在 Google 上搜索了解决方案,但奇怪的是似乎没有其他人遇到这个问题...

编辑1:
1 - 如果我在 iOS 模拟器中运行该项目,则不会出现该错误。所以这个问题是 Ripple 特有的!
2 - Phonegap zip 包含适用于每个平台的特定 cordova.js 文件。使用cli新建xcode项目,默认使用iOS版本。如果我使用附带的 OSX 版本,则 Ripple 中不会出现该错误。但(可以理解)不可能将 OSX 版本的 cordova.js 用于 iOS 模拟器。这会导致有关缺少 Cordova 桥的错误。

编辑2:
3 - 发现原因:var UseLogger 在 Cordova 2.6 中为 false,在 2.9 中设置为 true。
4 - 可能的解决方案:编辑 Cordova.js (但最好不要太!)并再次将 var UseLogger 设置为 false。

下面的代码导致了 Ripple 中的错误(抱歉,由于格式原因,但 stackoverflow 使得输入 html 代码变得非常困难)。也在显示错误的日志下方。

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="viewport" content="user-scalable=no, initial-scale=1,
maximum-scale=1, minimum-scale=1, width=device-width, height=device-height,
target-densitydpi=device-dpi" />
<script type="text/javascript" src="js/jquery-2.0.3.js"></script>
<script type="text/javascript" src="js/jquery.mobile-1.3.1.js"></script>
<script type="text/javascript" src="js/cordova-2.9.0.js"></script>
<link rel="stylesheet" href="css/jquery.mobile-1.3.1.min.css" />
<script type="text/javascript">
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
}
</script>
<title><!-- not used in visual app --></title>
</head>
<body>
<div data-role="page" id="pageIndex">
<div data-theme="a" data-role="header" data-position="fixed">
<h3>
</h3>
</div>
<div data-role="content">
<a data-role="button" onclick="console.log('TEST');" href="#">
Console test
</a>
</div>
<div data-role="footer" class="ui-bar" data-position="fixed">
<a data-role="button" href="#" data-icon="info">Info</a>
<a data-role="button" href="#" data-icon="gear">Options</a>
</div>
</div>
</body>
</html>
Viewport target-densitydpi is not supported.  index.html:6
Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:63342/Keep/cordova_plugins.json:0
Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:63342/!gap_exec?1373900241256:0
Ripple :: Environment Warming Up (Tea. Earl Gray. Hot.) js/cordova-2.9.0.js:5638
cordova :: Initialization Finished (Make it so.) js/cordova-2.9.0.js:5638
Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:63342/Keep/icon.png:0
Viewport target-densitydpi is not supported. index.html:6
Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:63342/Keep/cordova_plugins.json:0
Access made to deprecated symbol: navigator.network.connection. null js/cordova-2.9.0.js:5638

// if the button is clicked, the log below is the result

missing exec:Logger.logLevel js/cordova-2.9.0.js:5638
LOG,TEST js/cordova-2.9.0.js:5638
TypeError: Cannot call method 'logLevel' of undefined js/cordova-2.9.0.js:5638
TypeError: Cannot call method 'logLevel' of undefined
at module.exports.exec
at Object.logger.logLevel (http://localhost:63342/Keep/js/cordova-2.9.0.js:5626:9)
at logWithArgs (http://localhost:63342/Keep/js/cordova-2.9.0.js:5598:21)
at Object.logger.log (http://localhost:63342/Keep/js/cordova-2.9.0.js:5561:36)
at HTMLAnchorElement.onclick (http://localhost:63342/Keep/index.html:29:164) js/cordova-2.9.0.js:5638
Logger js/cordova-2.9.0.js:5638
logLevel js/cordova-2.9.0.js:5638
TEST js/cordova-2.9.0.js:5638
deviceready has not fired after 5 seconds. js/cordova-2.9.0.js:5638
Channel not fired: onCordovaConnectionReady js/cordova-2.9.0.js:5638
Channel not fired: onCordovaInfoReady js/cordova-2.9.0.js:5638

最佳答案

我在用ripple调试时遇到了同样的问题。我的解决方案是在使用ripple时简单地加载用于osx的cordova.js,并在iOS模拟器中运行时加载用于ios的cordova.js(无需更改xcode项目)。此解决方法仍然需要在我的配置文件中进行手动编辑(使用 requirejs) - 但它似乎比编辑 cordova.js 文件本身更好。

关于jquery - Cordova 2.9.0 缺少执行 :Logger. logLevel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17657957/

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