java - 代号 1 BrowserComponent setBrowserNavigationCallback

标签 java codenameone

我正在尝试使用

setBrowserNavigationCallback

BrowserComponent 的方法从 html 页面调用 java 方法。

这就是我在java中的内容:

            map_browser = (BrowserComponent) this.getInternal();                
            map_browser.setBrowserNavigationCallback(new BrowserNavigationCallback() {                    
                public boolean shouldNavigate(String url) {
                    System.out.println("in here::" + url);
                    if (url.startsWith("http://getproperties")) {
                        System.out.println("get properties from java code 1");                            
                        return false;
                    } else {
                        return true;
                    }
                }
            });

html 上的代码是:

 <a href="http://getproperties">Load</a>

这很好用。当我单击“加载”时,将调用 shouldNavigate()。

但是,这只有效一次。如果我再次单击“加载”,则什么也不会发生...

这是预期的行为吗?

如果是,从 javascript 多次调用 java 函数的最佳方法是什么?

我做错了什么吗?

BR, 桑克特

最佳答案

这会导致浏览器的位置发生更改,这意味着不会发生进一步的导航。尝试使用 myprotocol://getproperties ,它不会进入浏览器的位置,应该重复触发。

关于java - 代号 1 BrowserComponent setBrowserNavigationCallback,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20538557/

相关文章:

java - 我是否需要关闭代号一中的屏幕(以防止内存泄漏)?

java - Tomcat Rest 示例上的错误 404

java - 当我执行代码时发生错误

android - Codename One - 跨平台 BrowserComponent 页面加载指示器

codenameone - 拉动刷新容器

java - 关于 CodeName One 和 Path Java Runtime 的问题

java NoClassDefFoundError 与 Maven 依赖项 (log4j)

java - 使用 WLAN 建立从 Android 到 Eclipse 程序的数据通信的最简单方法

java - 在 Splash fragment 之后从 ActionBarActivity 中隐藏 ActionBar

ios - 代号一 IOS App Store