gpt4 book ai didi

javascript - 为 phonegap 和 web 使用相同的代码库?

转载 作者:数据小太阳 更新时间:2023-10-29 05:42:20 24 4
gpt4 key购买 nike

为我们的移动网络应用程序和 phonegap 应用程序使用相同的代码库是否明智?它们本来就是相似的,phonegap 版本只是让我们做更多的事情。我们能否检测它是否未在 phonegap 上运行并隔离对 phonegap api 的调用,或者将它们分开是否更有意义。

最佳答案

当然,您可以使用大部分相同的代码库。一些 phonegap API 在 html5 中是相同的(例如 localStorage),所以那里的代码没有区别。

如果您正在使用 phonegap Build 服务,它会将 phonegap.js/cordova.js 脚本文件添加到您的项目根目录。只需将它一直包含在您的 html 中即可。然后您可以检测您的应用程序是否在 phonegap 中运行:

var isPhonegap = function() {
return (typeof(cordova) !== 'undefined' || typeof(phonegap) !== 'undefined');
}

if (isPhonegap()) {
// phonegap.js/cordova.js exists.. now let's handle the onDeviceReady event
} else {
// in-browser
}

如果您需要一些通用的启动代码,请将其放在一个函数中并从上面的 onDeviceReady 处理程序和 else block 中调用此函数。

如果您调用的 phonegap api 的名称与 html5 的名称不完全相同(例如,因为它具有 Moz* 或 WebKit* 前缀),只需将两者都包含在一个新名称中即可。例如:

var requestFileSystem = (isPhonegap() ? requestFileSystem : window.WebKitRequestFileSystem);

如果您使用的 phonegap API 确实没有 html5 等效项,请尽可能尝试自己在 javascript 中复制该功能,否则您将在浏览器中失去该功能。但是请确保它在没有该功能的情况下足够优雅地降级。

注意:要在浏览器中测试加速度计、地理定位等移动设备功能,请查看 Ripple Chrome extension .

关于javascript - 为 phonegap 和 web 使用相同的代码库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10731356/

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