9

ネイティブiOS6アプリケーションでCordova2.4コンポーネントのCleaverと埋め込みビューを使用しています。これまでのところ、プロジェクト構造を作成し、Cordovaライブラリをリンクして、「DeviceReady」フィードバックを提供するHelloWorldアプリをセットアップすることができました。

これはすべて素晴らしいですが、アプリ自体の内部に分散されているwwwリポジトリからすべてのhtmlをロードします(すべてのjsライブラリを含む)。

私が本当にやりたいことはこれです:

1-クリーバーコンポーネント(埋め込みuiwebviewに他なりません)をアプリにポップアップします。簡単-完了。

2-リモートサーバー上のサーブレットを指すURLからいくつかのHTMLコンテンツをロードします。私はいくつかのサーブレットを持っており、もちろんそれぞれを別々にロードできる必要があります。

3-ステップ2で生成されたコンテンツをcordovajavascriptlibs cordova-2.4.0.jsを介してネイティブアプリと対話させます-(デバイスに対してローカルであるが、htmlがリモートの場所からロードされた場合、これらをロードするにはどうすればよいですか)。

どうすればこれを設定できますか?

PS

私はJavascript開発者というよりもObj-Cです:)

4

2 に答える 2

10

これが答えです。なんて嬉しい...

PhoneGapとCordovaでの動的ページ読み込みに関する優れた記事

まさに私が必要としていたもの。プロジェクトの2番目の部分は、ネイティブコードが外部Webサービスのロードを強制できるようにすることでした。これは、CleaverWebビューでstringByEvaluatingJavaScriptFromStringを呼び出すことで実現しました。

[webview stringByEvaluatingJavaScriptFromString:@"app.loadExternal('www.usatoday.com')];チャームのように機能するコードです:)

Viola-javascriptアプリとネイティブコンテナ間の完全な双方向通信で外部のhtmlコンテンツをロードできるCleaverビューがあります。

于 2013-02-12T12:58:31.810 に答える
8

index.htmlファイル内で次のようなことを行います(ポイント2の場合)

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
<meta charset="utf-8">
<script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
<script type="text/javascript">
     function onBodyLoad(){     
        document.addEventListener("deviceready", onDeviceReady, false);
     }
     function onDeviceReady(){
         window.location.href = <your_remote_url>
     }
}
</script>

ポイント3の場合、リモートコンテンツはcordova.jsをインポートする必要があり、インタラクション(ネイティブ/ Web)はローカルコンテンツであるかのように機能します。

于 2013-02-11T19:18:35.023 に答える