0

我正在开发一个主要用于自学目的的小型应用程序,我决定用 HTML / JS 编写应用程序并使用 phonegap 将其转换为“本机”应用程序。

这一切都很好,我已经成功地在我的手机上安装了一个 HelloWorld 应用程序。

除了作为本机应用程序之外,我还希望使用浏览器在 Internet 上提供我的项目。这样我的用户就可以在他们的浏览器中访问该网址或下载并安装该应用程序。

因此我的问题:

是否可以在标准网站上在线使用 Phonegap 及其 API?这意味着我可以使用 phonegaps 功能来访问例如地理位置。

否则我将不得不更改我的 javascript 代码,而不是在网站上使用 phonegap。

4

2 回答 2

1

对不起,我不相信这会奏效。相反,您可以尝试将您对 phonegap 的所有呼叫包装起来,并检查您是在手机上还是在浏览器中,并据此进行切换。这将迫使您将代码与 phonegap 分离并创建良好的边界。

我使用了这个,它并不完美(特别是如果用户在他们的移动浏览器中访问您的网站),但这是一个开始:

  //jquery - for working in browser
  $(document).ready(function() {
    if (!navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry)/)) {
      console.log("we are in a browser");
    }
  });

  //phonegap - for working in app
  function onDeviceReady() {
    console.log("we are an app");
  }

  function onBodyLoad() {   
    document.addEventListener("deviceready", onDeviceReady, false);
  }
于 2012-12-11T19:17:08.950 回答
1

PhoneGap/Cordova API 与设备上可用的功能相关联,因此无法通过“普通”网站获得。

但是,在您使用的示例中,Geolocation不是PhoneGap/Cordova 特定的,它是 W3C 规范,可在大多数现代浏览器上使用,因此您可以使用该规范。

于 2012-12-12T10:13:55.643 回答