2012-05-03 90 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? –