Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 加载正确的PhoneGap文件的最佳方式是什么_Javascript_Jquery_Mobile_Cordova - Fatal编程技术网

Javascript 加载正确的PhoneGap文件的最佳方式是什么

Javascript 加载正确的PhoneGap文件的最佳方式是什么,javascript,jquery,mobile,cordova,Javascript,Jquery,Mobile,Cordova,我正在使用PhoneGap开发一个混合应用程序,它将被分发到多个移动操作系统 我正在检测用户代理以加载正确的PhoneGap文件,是否有其他更好的方法在JavaScript中执行此操作?我不确定您使用的是哪个版本的PhoneGap或Cordova,但根据最新文档,该设备允许您获取操作系统的名称和更多信息 例如 Device.platform或Device.name 请让我知道它是否有效。正确的方法是为具有不同文件的不同系统部署和分发应用程序。部署Android应用程序时使用Android cor

我正在使用PhoneGap开发一个混合应用程序,它将被分发到多个移动操作系统


我正在检测用户代理以加载正确的PhoneGap文件,是否有其他更好的方法在JavaScript中执行此操作?

我不确定您使用的是哪个版本的PhoneGap或Cordova,但根据最新文档,该设备允许您获取操作系统的名称和更多信息

例如

Device.platform或Device.name


请让我知道它是否有效。

正确的方法是为具有不同文件的不同系统部署和分发应用程序。部署Android应用程序时使用Android cordova.js,部署iOS应用程序时使用apple cordova.js等。

我刚刚解决了这个问题。 我的应用程序应该只支持Android和所有iOS问题

这是我在应用程序头部输入的代码: 如果您的应用程序支持,请随意添加更多设备类型

<script type="text/javascript">
    if (navigator.userAgent.toLowerCase().match(/android/))
        document.write('<script charset="utf-8" src="js/cordova-1.7.0-droid.js"><\/script>');
    else //if (navigator.userAgent.toLowerCase().match(/iphone/) || navigator.userAgent.toLowerCase().match(/ipad/))
        document.write('<script charset="utf-8" src="js/cordova-1.7.0-ios.js"><\/script>');
</script>

这是正确的,但该解决方案的问题是Device.platform是PhoneGap框架的一个对象,我试图实现的是创建一种自动加载适当PhoneGap文件的方法。请再次阅读您的问题:您的意思是说它是一个web应用程序,为了清楚起见,这是一个设备上的混合移动应用程序,对吗?这是不正确的-你如何获得对作为cordova一部分的对象设备的引用?@Yuki-我已将其链接到cordova库。是的,当您在HTML中包含脚本时,它将获得设备的对象引用,而我给出的答案是不合适的。我在上面的评论中提到了这一点。通过阅读整个对话来否决投票是公平的。否则就不是了。@Yuki,问题清楚地表明它是一款移动混合应用程序,所以我的答案是正确的。这不是移动网络。你一定要再读一遍这个问题。没有更多的评论。