SWT浏览器位置侦听器事件返回about:blank

时间:2014-02-12 12:51:17

标签: java html browser swt dom-events

我正在使用SWT浏览器,它通过设置浏览器的文本来填充(由于动态html更改)。 我想添加一个位置监听器,以便从html获取值并在Java代码中使用它, 但我得到about:blank#而不是我在html文件中发送的链接。

Java代码:

    if (browser == null) {
        browser = new Browser(browserComposite, SWT.NONE);
        browser.setJavascriptEnabled(true);
    }

    browser.setText(os.toString(),true);
    browser.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    browser.addLocationListener(new LocationListener() {

        @Override
        public void changing(LocationEvent e) {
            System.out.println(e.location);
            e.doit = false;
        }

        @Override
        public void changed(LocationEvent e) {
            e.doit = false;
        }

    });

html代码:

<script>
   function myFunc(vars) {
      window.location="http://www.google.com";
   }
   function recordVariableUse(nodes, vars) {
      for (var i=0; i<nodes.length; i++) {
          nodes[i].onclick=function() {myFunc(vars)}
      }
   }
   recordVariableUse(document.getElementsByClassName("x"), ["y"]);
</script>

0 个答案:

没有答案