我一直很难搞清楚这个问题.我在eclipse中编写了一个插件,它启动了Eclipse的内部Web浏览器.到目前为止,我已经打开了内部Web浏览器:
IWebBrowser browser = PlatformUI.getWorkbench().getBrowserSupport().createBrowser(IWorkbenchBrowserSupport.LOCATION_BAR, null,"Expert Viewer", "Validation");
browser.openURL(new URL(some url));
Run Code Online (Sandbox Code Playgroud)
我想获取在浏览器中打开的当前页面的URL.我该如何做到这一点?
使用的问题IWorkbenchBrowserSupport是您无法保证获得内部浏览器.如果内部浏览器不可用,或者工作台配置为使用它,则可能会打开外部浏览器等.
如果您知道您总是想要一个内部浏览器(并且您只支持内部浏览器始终可用的平台),那么您可以放弃IWorkbenchBrowserSupport界面并简单地使用该org.eclipse.swt.browser.Browser小部件.然后你可以挂钩LocationListener,例如:
Browser browser = new Browser(parent, SWT.NONE);
browser.addLocationListener(new LocationListener() {
public void changing(LocationEvent event)
{
System.out.println("Navigating to: " + event.location);
}
public void changed(LocationEvent event)
{
System.out.println("Location is: " + event.location);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2011 次 |
| 最近记录: |