0

我尝试创建一个混合 Worklight 应用程序来聚合多个外部门户页面。有一个标签栏,标签栏中的每个视图都会加载自己的 WebView 以显示不同的 Portal 页面。这工作正常,我让一切都在运行,但 Worklight 没有加载到 Webviews 中。我想访问门户页面内的摄像头等 Cordova 功能。

当我直接在主 Webview 中加载 Portal 页面时,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

至少从阅读你的文字来看,这听起来——对我来说——就像你想要完成的事情与你所基于的样本完全不同?

该示例是具有三个选项卡的 Worklight Hybrid 应用程序,前两个仅加载应用程序中捆绑的一些 HTML 和 JavaScript 资源(因此位于 Worklight 实例中,并且可以使用应用程序包含的任何内容,包括 PhoneGap 功能),以及第三个第三个选项卡是加载外部网站的 WebView Overlay。

如果此外部网站想要使用 PhoneGap 访问设备功能,则 PhoneGap 需要位于外部服务器中托管的网站的本地;Worklight 提供的功能(包括 PhoneGap)将不可用于此外部网站。

但是,然后你写:

当我直接在主 Webview 中加载 Portal 页面时,Worklight 初始化正常,但它不会在嵌入式 Webview 中加载,即所有必要的 Worklight 文件都在那里并且 Portal 页面设置正确。

那是哪里”?在外部服务器上?Worklight 没有理由以这种方式运行,因为它超出了 Worklight 应用程序范围。您不能期望在同一个应用程序中有“多个”Worklight 应用程序,即所谓的远程加载(?)。(好吧,如果你愿意,你可以期待它:),但它不是那样工作的......)

我对你的理解正确吗?如果没有,请随时编辑您的问题并使其更清晰。

于 2013-05-05T19:03:12.123 回答