2011-12-27 7 views
4

iOS上に基本的なPhoneGap/jQuery-Mobileアプリがあり、最初にアプリケーションの一部であるindex.htmlページを読み込みます。そのページには、モバイルサイトのページを指すリンクがあります(アプリの一部として配備されていません)。これは私が望むように機能します。リンクをクリックすると、アプリでモバイルページが読み込まれます(PhoneGap.plist ExternalHostsが更新され、Safariの代わりにアプリで読み込まれるようになりました)。PhoneGap jQueryモバイルアプリケーション(ローカルページとサーバーページの両方を使用)

私の質問は私のアプリでモバイルページからかどうかを表示されますが、私のアプリの一部ではありませんが、私はは私のアプリの一部であることをページにリンクすることができますか?これも可能ですか?そうでない場合、この同じ行動を達成するための私の選択肢は何ですか?

アプリの基本的なデザインは、アプリのさまざまなページ(ホーム、モバイルサイト、カメラなど)のメニューに戻るようなボタンで常に表示される何らかのメニューを持つことです。 )。メニューリンクをクリックすると、ナビゲーションバーの下にモバイルWebページがロードされます。このページは、Phonegapアプリまたはサーバー上のリモートページにローカルになる可能性があります。 (オプションで、メニュー/ナビゲーションバーはモバイルサイトの一部になる可能性がありますが、これはモバイルサイトのページメニューの[ホーム]ボタンがアプリケーションのindex.htmlページを読み込む場合にのみ機能します)。

iOSとAndroidでアプリのコードベースを1つ維持し、PhoneGapでカメラなどの携帯端末の機能にアクセスする予定です。しかし、サーバー側の情報交換(取得、データベースの更新など)ごとに.ajax呼び出しを記述するのではなく、既存のサーバー側のフォームや既に.aspxページとしてホストされているページの一部を活用して、 Phonegapアプリ。私のアプリやモバイルサイト(すべてJQuery Mobileを使用)のページ間を行き来することが可能であれば理想的です。リモートサーバーのページにphonegap.jsを含めることができ、それらのページの中からphonegapへのjavascript API呼び出しを含めることができれば、もう1つの大きなボーナスになります。

これはうまくいけばうまくいきます。

ありがとうございます!

+0

利用可能な回答はありましたか?私たちもこの問題を抱えています。ネイティブアプリに戻っていく方法があるに違いないが、見つからない。 TIA。 –

+0

はい、行っています。以下で説明するようにChildBrowserを使用しました。アドレスバーとツールバーを非表示にするには、iOSとAndroidのChildBrowserユーザーインターフェイスを変更する必要がありました。モバイルサイトのヘッダー/メニューバーをネイティブのヘッダーバーに合わせるには少し努力が必要でした。最終的な結果はシームレスな体験です。つまり、ネイティブページを表示しているのか、モバイルサイトから表示されているページを表示しているのかが分かりません。 –

答えて

1

はい、ありました。以下で説明するようにChildBrowserを使用しました。アドレスバーとツールバーを非表示にするには、iOSとAndroidのChildBrowserユーザーインターフェイスを変更する必要がありました。モバイルサイトのヘッダー/メニューバーをネイティブのヘッダーバーに合わせるには少し努力が必要でした。最終的な結果はシームレスな体験です。つまり、ネイティブページを表示しているのか、モバイルサイトから表示されているページを表示しているのかが分かりません。

0

私は、hrefがfile:/// asset/wwwをローカルに指している可能性があり、ロードするべきだと思っています。実際のURLをスイッチドホストとしてリンクした場合、サーバーからロードされるので、最善の策はローカルパスです。あなたはいつでもあなたのサーバー上でブラウザーチェックを実行し、IOS、Androidなどに関連するパスを出力することができます。

あなたのサイトのコンテンツを読み込むラッパーの場合、

+0

私は、ファイルプロトコルを使ってあらゆる種類のパスの組み合わせを試しましたが、サーバのページからは何もできませんでした。私はiPhoneシミュレータでファイルへのパスを出力しましたが、そのパスは実用的ではなく、何とか動作しませんでした:file:/// Users/bt/Library/Application Support/iPhone Simulator/4.3/Applications/FED4C20C -048A-4CF4-A5D1-A63EAEC5A881/HelloWorld.app/www/index.html。そのリンクをローカルページ(アプリケーションの一部としてデプロイされている)で使用すると、リンクされたページに移動します。しかし、同じリンクがサーバーページ上にあれば何もしません。ローカルパスには他にもいくつかの表記法がありますか? –

関連する問題