如何在Codename One WebBrowser组件中加载外部URL?

时间:2013-05-17 22:32:53

标签: android mobile-application codenameone blackberry-android

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

感谢。

1 个答案:

答案 0 :(得分:1)

本地WebBrowser组件是同步布局的,这意味着它的首选大小将在以后计算,因此布局将其放置为0,0大小。在RIM上,我们默认使用传统的HTMLComponent(来自J2ME),因为RIM的本机浏览器组件是片状的,这就是为什么RIM版本适合你,而Android版本不适用。

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

你可以在Codename One的项目属性中设置这些参数,如果它对你很有用的话。

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

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

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