IBM Worklight/Cordova 未在 Android 上 Worklight 的嵌入式 WebView 中加载

Posted

技术标签:

【中文标题】IBM Worklight/Cordova 未在 Android 上 Worklight 的嵌入式 WebView 中加载【英文标题】:IBM Worklight/Cordova does not load in embedded WebView in Worklight on Android 【发布时间】:2013-05-03 15:50:53 【问题描述】:

我尝试创建一个混合 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_pages_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");

【问题讨论】:

【参考方案1】:

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

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

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

但是,然后你写:

当我直接在 主 Webview,但它不会加载到嵌入式 Webview 中,即所有 必要的 Worklight 文件在那里并且门户页面已设置 对。

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

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

【讨论】:

您好伊丹,感谢您的回答。我想你明白我试图表达的意思。有一个应用程序具有多个加载外部(远程)页面的 Web 视图。这些页面中的每一个都应该访问设备功能(例如相机)。这些页面不一定需要 Worklight 功能,但需要 Cordova。我没有尝试让 Webviews 成为 DroidGap 的子类,也许这会有所帮助。或者你认为它不能工作,即使只适用于 Cordova? 我不知道...我只知道如果您将外部网站加载到 web 视图中,该网站将无法访问位于 Worklight 应用程序中的 Cordova。 如果这回答了您的问题,请将其标记为已回答。 嗨@IdanAdar,如果你能在下面***.com/q/45138997/388053有问题时帮助我,我将不胜感激

以上是关于IBM Worklight/Cordova 未在 Android 上 Worklight 的嵌入式 WebView 中加载的主要内容,如果未能解决你的问题,请参考以下文章

IBM Worklight - 来自项目的缩略图图像未在 Worklight Console 中更新

IBM MobileFirst Platform 未在 iOS 上为混合应用程序触发远程禁用消息

应用程序未在通知上打开单击 android hybrid ibm-mobilefirst

IBM Worklight 6.0.0.1 - JavaScript 未在 jQuery Mobile 多页应用程序中执行

Web项目未在Websphere 9中启动,BValInterceptor的CDI相关异常

推送通知未在 iphone 设备中接收