我在Windows7上使用的是jxbrowser 4.9,当一个链接有一个target="_blank“并指向一个pdf时,
一个新的弹出窗口将与pdf插件一起出现,
由于我想下载这个pdf,我在弹出窗口中禁用了pdf插件,通过
PluginManager pluginManager = browser.getPluginManager();
pluginManager.setPluginFilter(new PluginFilter() {
@Override
public boolean isPluginAllowed(PluginInfo pluginInfo) {
return false;
}
});弹出窗口显示一个黑屏,上面写着“无法加载插件”,但没有让我下载pdf。
如果我更改链接以抑制target="_blank",并禁用pdf插件,则可以下载pdf。
当target="_blank“时,有没有什么特殊的事情可以下载pdf文件?
感谢您的帮助!
下面是我的简单类:公共类TestPopupPDF {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
initAndDisplayUI();
}
});
}
private static void initAndDisplayUI() {
Browser browser = BrowserFactory.create();
JFrame frame = new JFrame("JxBrowser - Popup PDF test");
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.add(browser.getView().getComponent(), BorderLayout.CENTER);
frame.setSize(500, 400);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
PluginManager pluginManager = browser.getPluginManager();
pluginManager.setPluginFilter(new PluginFilter() {
@Override
public boolean isPluginAllowed(PluginInfo pluginInfo) {
//disable all plugins
return false;
}
});
browser.setPopupHandler(new PopupHandler() {
public PopupContainer handlePopup(PopupParams params) {
return new PopupContainer() {
public void insertBrowser(final Browser browser,
Rectangle initialBounds) {
initialBounds.setBounds(100, 100, 500, 400);
JComponent component = browser.getView().getComponent();
component.setPreferredSize(initialBounds.getSize());
final JFrame frame = new JFrame("Popup");
frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
frame.add(component, BorderLayout.CENTER);
frame.pack();
frame.setLocation(initialBounds.getLocation());
frame.setVisible(true);
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
browser.dispose();
}
});
PluginManager pluginManager = browser.getPluginManager();
pluginManager.setPluginFilter(new PluginFilter() {
@Override
public boolean isPluginAllowed(PluginInfo pluginInfo) {
return false;
}
});
}
};
}
});
browser.loadURL("http://localhost/test.html");
}}
这是test.html页面:
<html>
<head></head>
<body>
<H1>PDF</H1>
<a href="javascript.pdf" target="_blank">download/open pdf file new page</a>
<br><br>
<a href="javascript.pdf">download/open pdf file same page</a>
</body>
</html>使用任何pdf。
发布于 2016-02-09 19:55:59
不再支持JxBrowser 4.9。在JxBrowser 6.1中,此问题不可重现,因此我建议您尝试6.1。
https://stackoverflow.com/questions/35266301
复制相似问题