0

我正在构建一个也需要作为网站运行的 PhoneGap 应用程序。当作为 PhoneGap 应用程序运行时,我必须包含 phonegap.js 脚本,但当我作为网站运行时,该文件将不存在。正如这个问题所涵盖的,有很多方法可以实现这一点。我的问题是我正在使用 Ripple 模拟器在浏览器中测试我的应用程序,但大多数测试并未将 Ripple 检测为 PhoneGap。例如; 如果我在 Ripple 中测试的页面是通过“http:”提供的,那么在 url 中测试“file:”将不起作用。

我的问题是;当在 Ripple over http 中进行测试时,在 PhoneGap 中有条件地执行代码的哪种技术也可以工作?这还重要吗?Ripple 是否总是加载 phonegap.js 文件,还是我仍需要手动将其包含在标签中?

4

1 回答 1

0

我不确定这是否适合您,但如果您正在寻找一种在 Ripple 中有条件地运行代码的方法,一种粗略的方法是查看您的页面是否包含在另一个框架中(因为 Ripple 运行您的网站在另一个框架内,这可能是 Ripple 与在设备上运行时所特有的条件)。例如,Ripple 不断提醒我所有的插件都不支持(即谷歌分析插件),所以为了让它闭嘴,我这样做了:

if (window.self === window.top){ 
    //not in a frame 
    var in_ripple = 0;
} else { 
    var in_ripple = 1;
}

if (!in_ripple){
    ga_plugin = window.plugins.gaPlugin;
    ga_plugin.init(...);
}  
于 2014-01-03T05:30:16.573 回答