对此我无法给出一个很好的解释,但是当我包含
<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/