1

我有一个由 ASP.Net MVC 生成的客户端 Web 应用程序(Html 5、CSS、JQueryMobile 等)。我使用 ASP.Net MVC 将用户代理识别为传统浏览器或移动浏览器。如果是移动浏览器,那么我会呈现移动视图。当通过桌面上的浏览器或移动设备(iPad 和 Android 平板电脑)上的浏览器访问时,该应用程序按设计运行。

客户希望将他们的应用程序包装在 PhoneGap 中,以便他们可以为 Google Play 和 Apple 商店创建可分发的内容。我对PhoneGap 比较陌生,所以我采用的方法是创建一个精简的html 页面,其中包含一个访问所述应用程序URL 的iframe。我的意图是使用 Dreamweaver CS 5.5 和 PhoneGap 生成 APK 文件和 iPad 等效文件,以便我们可以将客户端的应用程序加载到不同的移动商店。

我不确定这种方法是否正确。看起来它应该可以工作:一个精简的 index.html 页面,它只有一个调用应用程序的 iframe。这是代码:

<html>
<head>... phoneGap.js..</head>
<body style="margin:0px;padding:0px;overflow:hidden">
    <iframe src="[URL TO WEBSITE HERE]" frameborder="0" style="overflow:hidden;overflow-x:hidden;overflow-y:hidden;height:100%;width:100%;position:absolute;top:0px;left:0px;right:0px;bottom:0px" height="100%" width="100%"></iframe>
</body>
</html>

我使用上面的代码创建了一个 APK 文件,并将其加载到运行 IceCreamSandwhich 的 Android 平板电脑中,但性能很糟糕。但是,我可以通过同一台 Android 平板电脑上的浏览器访问该应用程序,并且一切都按设计运行。

有人可以请我指出如何让它发挥作用的正确方向。我无法更改 ASP.Net MVC。必须有一种方法可以将由 ASP.Net MVC 生成的移动应用程序打包,以便将其放入 Google Play 和 Apple Store。

4

1 回答 1

1

您很可能无法使其以您拥有的方式工作,因为在 iframe 中运行的代码无法访问 phonegap.js。

您可以将索引页面重定向到您的服务器,但是 Apple 很可能不允许您通过他们的应用商店分发它。这还需要您将 phonegap/cordova js 文件放在您的服务器上。

一个“典型的”phonegap/cordova 应用程序具有位于客户端上的资源(它们被打包到应用程序中),而服务器仅用于提供数据,通常通过 REST+JSON api。

您听起来要构建的是一个包装好的网站,恕我直言,它不是一个应用程序,应该只在浏览器中使用。

于 2012-05-03T23:47:41.433 回答