javascript - Phonegap 3 包含一个警告框,其中 "OK"使浏览器崩溃

标签 javascript android cordova

对此我无法给出一个很好的解释,但是当我包含

<script type="text/javascript" src="phonegap.js"></script>

在我尚未修改的 Phonegap 应用中,屏幕上会出现 2 个弹出窗口。

//The first popup
gap:["PluginManager","startup","PluginManager224542697"]

//the second
gap:["App","show","App224542698"]

我必须取消这两个弹出窗口,并且真的很想了解其中的原因。

有问题的两行在 phonegap.js 的第 21117 和 21118 行

 // Tell the native code that a page change has occurred.
 require('cordova/exec')(null, null, 'PluginManager', 'startup', []);
 require('cordova/channel').onNativeReady.fire();

这当然不会在应用程序中中断,但这确实意味着开发几乎是不可能的。

最佳答案

对我来说,之所以会出现问题,是因为 phonegap.js 在 phonegap 之外运行时会退回到基于 PROMPT 的模式。我相信这种模式适用于 Android 3.2 以下的 phonegap,所有通信都是通过警报提示(您所看到的)。

我通过在加载 phonegap.js 之前设置以下变量来解决问题:

window._cordovaNative = true;

这会让 phonegap 误以为您在 phonegap 3.2 以上运行,因此永远不会进入提示模式。

当然,如果您的目标是 3.2 以下的设备,那么这样做可能会破坏这些设备上与 Phonegap 的所有通信...

关于javascript - Phonegap 3 包含一个警告框,其中 "OK"使浏览器崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18623351/

相关文章:

javascript - $timeout 的 Angular Js 回调函数

javascript - 错误 : [$parse:syntax] when using ng-class

android - 将相机图像示例为位图 Android

android - 获取调用我的应用程序的应用程序的包名称

android - 如何将数据绑定(bind)到标题?

android - Android Phonegap 上的应用程序错误

javascript - 如何设置mousemove更新速度?

Javascript函数问题

javascript - 手机间隙 : Asynchronous calls in javascript or native code?

ios - 当应用程序通过应用程序商店更新时,在cordova应用程序中保留本地存储