我对sencha touch有一个奇怪的问题。我有一个应用程序,其中有Select字段,在更改Select字段值时,我会根据我的业务规则应用一些规则。
规则是
- 规则就像我从表单中删除所有字段元素,然后再次添加它们
- 我保留以前选择的值
- 正在从附加到选择字段的存储中删除一些值
现在,它在chrome、safari浏览器和iPad设备浏览器上运行得非常好。但现在它给iPhone和Android设备带来了一个奇怪的问题。屏幕卡住了。更改选择字段中的值后,不允许发生任何事件
采取的步骤此外,我在源代码的每一步都以记录器的身份发出警报,以确保无限循环。我还放置了异常处理程序,以确保错误发生。没有错误,也没有运行可能导致内存/运行时问题的ant无限循环。
有人能给我提供任何调试器的链接吗?我可以在android或iPhone中使用它来调试Sencha Framework中编写的JavaScript代码。
第1版
我从sencha门户看到了RemoteJSandroid上的远程javascript调试另外,我已经安装了Android SDK和QT,机器人不知道如何开始调试。
不能告诉你任何关于android的问题。
当涉及到iPhone上的Javascript调试时,通常会提出Weinre。
这里描述了另一个解决方案,但它只适用于模拟器中的IOS5。为了我自己的需要,我选择了那个,因为我觉得它更容易、更快地设置。http://hiediutley.com/2011/11/22/debugging-ios-apps-using-safari-web-inspector/。
此解决方案是iOS 6.0的终极解决方案,它使所有其他解决方案都过时了。请参阅:是否有方法在iPhone/iOS Safari浏览器中调试JavaScript?
Chrome Android浏览器具有远程调试功能-请参阅https://developers.google.com/chrome-developer-tools/docs/remote-debugging
设置有点棘手,但为您的手机提供了一个普通的chrome开发者控制台。
我有一个问题,JS不能在1st iPad和Android上工作(它们都有旧版本的Webkit),代码没有运行,那里有很多文件,所以我最终使用ajax获取每个文件,并在try-catch中调用eval。
var pre = $('pre');
var filename = '/path/to/file.js';
$.get(filename, function(file) {
try {
eval(file);
} catch(e) {
pre.html(pre.html() + filename + 'n' +
e.message + 'n' + e.stack + 'n----n');
}
}, 'text'); // text - so jQuery don't eval the code
正如您在代码中看到的那样,我将堆栈跟踪转储到预标记中。
我还发现,1st iPad和Andorid(2.3)中的webkit不允许删除和默认为属性(我认为IE也是如此)。