私はASP.NetMVC3アプリケーション(ASP.NET MVC、PHP、またはRAILS cozであるかどうかは関係ありません)を持っています。これはjquery mobileを使用しており、すべてのモバイルブラウザーでうまく機能します。次のステップは、Phonegapを使用してネイティブiOSアプリを作成することです。
私の推測では、Phonegapに配置したhtmlページで行う必要があります。ページの読み込みイベントにフックし、リモートサーバーからMVCビューのコンテンツを動的に読み込みます。
しかし、他の誰かが同様のことをした場合、私はいくつかの例を探しています。
-よろしくお願いしますニック
更新:次のindex.htmlページを作成することで、これを実現できました。それが他の誰かを助けることを願っています。
まだ問題があります:しかし、これを行った...お気づきかもしれませんが、http:// IP:8081URLを介してASP.NETMVCページを要求しています。これは正常に機能し、私のページもロードします...しかし、jquerymobile形式ではありません。ですから、誰かがここで私を助けてくれるなら、それは素晴らしいことです。
説明:以来、にajax.responseText
はタグから始まるHTML全体が含まれています<!DOCTYPE html>
...<div data-role="page" id="home">
タグ内にHTMLページ全体を挿入することになるのは明らかだと思いますが、これは明らかに間違っていますが、まだ解決策がありません: ((
<!DOCTYPE html>
<html>
<head>
<title>PhoneGap Ajax Sample</title>
<meta name="viewport" content="width=device-width,initial-scale=1, target-densityDpi=device-dpi"/>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript">
function onDeviceReady() {
var ajax = new XMLHttpRequest();
ajax.open("GET", "http://192.168.2.30:8081/", true);
ajax.send();
ajax.onreadystatechange = function () {
alert(ajax.status);
if (ajax.readyState == 4 && (ajax.status == 200 || ajax.status == 0)) {
document.getElementById('home').innerHTML = ajax.responseText;
}
}
}
$(document).bind("mobileinit", function () {
alert('mobileinit');
// Make your jQuery Mobile framework configuration changes here!
$.support.cors = true;
$.mobile.allowCrossDomainPages = true;
});
document.addEventListener("deviceready", onDeviceReady, false);
</script>
</head>
<body>
<div data-role="page" id="home">
</div>
<div data-role="page" id="search">
</div>
<div data-role="page" id="recent">
</div>
</body>
</html>