gpt4 book ai didi

javascript - 这个糟糕的代码是如何完全破坏 IOS PhoneGap/cordova 应用程序中的 JS 文件的?

转载 作者:行者123 更新时间:2023-11-29 03:33:48 24 4
gpt4 key购买 nike

唉……

var dcCnt = 0;
(function deviceCheck(){
if(!device || dcCnt +=1 >= 25){
if(dcCnt >=25){
alert('device object load timed out');
return false;
}
else {
alert('device loaded after deviceready');
return true;
}
setTimeout( deviceCheck, 200);
}
});

是的,是的,很明显 if(!device dcCnt+=1 || dcCnt += 1 >= 25) 将成为一个问题。这个怪物的原始版本只是在它后面加上 () parens 来启动整个事情。这只是调试代码,试图解决我由于某种原因没有获得设备对象的问题(最终证明是 if 语句中的提升变量——我应该更清楚)。在我进行了一次调整后,它似乎并没有起作用,我只是为了以后再研究它而杀死了 Action 参数。

但事情是这样的。尽管从未被调用,但这段代码在未被注释掉时将整个 JS 文件变成了 iOS 中的一个巨大的黑洞,从中无法返回呃......可以返回。我可以在链接文件前后触发脚本。但是在开始或结束时没有警报起作用。 Try/Catch 语句什么也没做。就像整个文件都消失了一样。

Android,当然,运行良好。 'use strict' 正在发挥作用,但它似乎对 ios 或 android 无关紧要。如果您不尝试启动它,在 Chrome 中也能正常工作。那么到底发生了什么?

最佳答案

我假设 WebKit 无法解析 js 文件,很可能是由于某些内容没有被正确注释掉。

将其放入 iOS 模拟器中并在模拟器上运行 Safari 的 Web Inspector。您可能会看到 js 语法错误。

至于为什么它在 Android 上运行而不是 iOS...我猜有些浏览器比其他浏览器更挑剔。

关于javascript - 这个糟糕的代码是如何完全破坏 IOS PhoneGap/cordova 应用程序中的 JS 文件的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19439001/

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