0

複数の外部ポータル ページを集約するハイブリッド Worklight アプリを作成しようとしています。タブ バーがあり、タブ バーの各ビューは独自の WebView をロードして、異なるポータル ページを表示します。これは正常に動作し、すべて実行していますが、Worklight が Web ビューにロードされません。ポータル ページ内のカメラなどの Cordova 機能にアクセスしたいと考えています。

Portal ページをマスター Webview に直接ロードすると、Worklight は正常に初期化されますが、組み込み Webview にはロードされません。つまり、必要なすべての Worklight ファイルがそこにあり、Portal ページが正しくセットアップされています。

この例を拡張しました:
http://public.dhe.ibm.com/software/mobile-solutions/worklight/docs/v506/09_06_Integrating_server_generated_pa​​ges_in_Worklight_applications.pdf

これはコードの重要な部分です。

webViewOverlay = new WebView(this);
webViewOverlay.setWebViewClient(webViewClient);
webViewOverlay.setWebChromeClient(new WebChromeClient());
webViewOverlay.getSettings().setJavaScriptEnabled(true);
webViewOverlay.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webViewOverlay.clearCache(true);
webViewOverlay.loadData(""http://mymielke.de/test/portal/test.html"", "text/html", "UTF-8");
4

1 に答える 1

0

少なくともあなたのテキストを読むと、私には、あなたが達成しようとしていることは、あなたがベースにしているサンプルのようなものではないように思えますか?

このサンプルは、3 つのタブを持つ Worklight Hybrid アプリです。最初の 2 つのタブは、アプリにバンドルされている HTML および JavaScript リソースをロードするだけです (したがって Worklight インスタンスにあり、PhoneGap 機能を含め、アプリが保持するすべてのものを使用できます)。 3 番目の 3 番目のタブは、外部 Web サイトをロードする WebView オーバーレイです。

この外部 Web サイトが PhoneGap を使用してデバイス機能にアクセスする場合、PhoneGap は、外部サーバーでホストされている Web サイトに対してローカルである必要があります。Worklight が提供する機能 (PhoneGap を含む) は、この外部 Web サイトでは使用できません。

しかし、次のように書きます。

Portal ページをマスター Webview に直接ロードすると、Worklight は正常に初期化されますが、組み込み Webview にはロードされません。つまり、必要なすべての Worklight ファイルがそこにあり、Portal ページが正しくセットアップされています。

「ある」ってどこ?外部サーバーで?Worklight アプリの範囲外であるため、Worklight がこのように機能する理由はありません。同じアプリケーション内に「複数の」Worklight アプリケーションがあり、いわゆるリモート (?) でロードされることは期待できません。(まあ、あなたが望むならそれを期待することができます:)、しかしそれはそのようには機能しません...)

私はあなたを正しく理解しましたか?そうでない場合は、質問を編集してより明確にしてください。

于 2013-05-05T19:03:12.123 に答える