Java 在SWT中使用受控嵌入式浏览器
有人知道如何在SWT中使用“受控嵌入式浏览器”,它允许页面操作吗?我只能找到有关如何使用普通SWT浏览器的信息,但我需要能够与加载的页面交互。非常感谢。像这样- -但是没有关于如何启动这样一个类的说明。这里是一个from 此外,这篇文章可能会给你一些关于这方面的见解。 要将Java对象从Eclipse公开到JavaScript,需要创建一个扩展BrowserFunction的类。此类的构造函数接受两个参数;第一个是浏览器实例,第二个是在运行SWT浏览器控件的JavaScript代码中可用的函数名 代码片段 浏览器功能:Java 在SWT中使用受控嵌入式浏览器,java,browser,web,interaction,Java,Browser,Web,Interaction,有人知道如何在SWT中使用“受控嵌入式浏览器”,它允许页面操作吗?我只能找到有关如何使用普通SWT浏览器的信息,但我需要能够与加载的页面交互。非常感谢。像这样- -但是没有关于如何启动这样一个类的说明。这里是一个from 此外,这篇文章可能会给你一些关于这方面的见解。 要将Java对象从Eclipse公开到JavaScript,需要创建一个扩展BrowserFunction的类。此类的构造函数接受两个参数;第一个是浏览器实例,第二个是在运行SWT浏览器控件的JavaScript代码中可用的函数
“不存在”);”
}
将此功能与浏览器控件关联
}
从JavaScript调用此函数:
files=getFiles(“c:/”);
对于(i=0;i”);
}
这是一个来自
此外,这篇文章可能会给你一些关于这方面的见解。
要将Java对象从Eclipse公开到JavaScript,需要创建一个扩展BrowserFunction的类。此类的构造函数接受两个参数;第一个是浏览器实例,第二个是在运行SWT浏览器控件的JavaScript代码中可用的函数名
代码片段
浏览器功能:
“不存在”);”
}
将此功能与浏览器控件关联
}
从JavaScript调用此函数:
files=getFiles(“c:/”);
对于(i=0;i”);
}
没关系,我的答案太晚了:),但希望这能为其他人提供参考。没关系,我的答案也晚了:),但希望这能为其他人提供参考
import java.io.File;
import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.browser.BrowserFunction;
public class ListFilesFunction extends BrowserFunction {
Browser browser = null; String functionName = null; public ListFilesFunction(Browser browser, String name) { super(browser, name); this.browser = browser; this.functionName = name; } public Object function (Object[] args) { if (args.length == 0) browser.execute("alert('Function " + functionName + " requires one argument - parent folder path');"); File file = new File(args[0].toString()); if (!file.exists()) browser.execute("alert('Folder " + args[0] +
public class View extends ViewPart { Browser browserCtl = null; ...if (!file.isDirectory()) browser.execute("alert('Path " + args[0] + " must be a folder');"); return file.list(); }
public void createPartControl(Composite parent) { ... browserCtl = new Browser(parent, SWT.None); new ListFilesFunction(browserCtl, "getFiles"); ... } ...
<html> <head> <script type='text/javascript'> files = getFiles("c:/"); for (i = 0; i < files.length; i++) { document.writeln(files[i] + "<br>"); } </script> </head> <body> </body> </html>