我正在使用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>