2012-05-03 67 views
1

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

客户希望将他们的应用程序包装在PhoneGap中,以便他们可以为Google Play和Apple商店创建分配。我对PhoneGap比较陌生,所以我采用的方法是创建一个带有iframe的精简html页面,该页面访问所述应用程序的URL。我的意图是使用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。

回答

1

您很可能无法按照您的方式工作,因为phonegap.js无法在iframe中运行代码访问。

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

典型的phonegap/cordova应用程序拥有生存在客户端上的资源(它们被打包到应用程序中),服务器只在那里提供数据,通常通过REST + JSON API。

你的声音是建立一个包装的网站,恕我直言,不是一个应用程序,应该只是在浏览器中使用。

+0

我没有使用phonegap本身。客户端的应用程序是一个Web应用程序,他们希望把它变成一个可分发的Android和苹果商店。他们的应用根本不需要与设备进行交互。这是我的理解,PhoneGap将允许您使用HTML应用程序,并使其作为本地应用程序工作,以便您可以将其放入应用程序商店。 当MVC可以创建移动视图时,将代码重写为客户端上的资源是没有意义的。所以问题是你如何有效地调用MVC应用程序? Childbrowser? –