1

谁能帮我?我有一个正在开发的应用程序,核心功能是在 Codename One WebBrowser 组件中加载具有 css 和 javascript 的第三方网页 (URL)。我的问题是:- 1. 如何加载网址?2. 是否可以与此 url 上的 javascript 交互,如警报和确认?3. 设备默认浏览器等如何切换?

谢谢。

4

1 回答 1

1

原生 WebBrowser 组件是异步布局的,这意味着稍后会计算其首选大小,因此布局将其放置为 0,0 大小。在 RIM 上,我们默认使用旧版 HTMLComponent(来自 J2ME),因为 RIM 的本机浏览器组件很不稳定,这就是为什么 RIM 版本适合您而 Android 版本不适合您的原因。

HTMLComponent 仅支持 HTML/CSS 的一个子集,并且不支持任何 JavaScript,因此这可能不是您想要使用的。您可以通过设置 build 参数来启用本机 RIM 浏览器组件(尽管它很不稳定并且有许多已知问题且没有解决方法): rim.nativeBrowser=true

您可以在 Codename One 的项目属性中设置这些参数,如果它适合您,那就太好了。

要解决布局问题,您可以在放置浏览器时使用类似 BorderLayout 的布局,例如:

form.setLayout(new BorderLayout());
form.addComponent(BorderLayout.CENTER, browser);

这将在屏幕上拉伸组件,忽略其首选大小。或者,您可以跟踪浏览器事件并重新验证或硬编码首选大小值(我不推荐)。

于 2013-05-18T07:23:57.583 回答