首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JXBROWSER :在弹出窗口中禁用pdf插件不允许下载pdf

JXBROWSER :在弹出窗口中禁用pdf插件不允许下载pdf
EN

Stack Overflow用户
提问于 2016-02-08 17:35:55
回答 1查看 262关注 0票数 1

我在Windows7上使用的是jxbrowser 4.9,当一个链接有一个target="_blank“并指向一个pdf时,

一个新的弹出窗口将与pdf插件一起出现,

由于我想下载这个pdf,我在弹出窗口中禁用了pdf插件,通过

代码语言:javascript
复制
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 {

代码语言:javascript
复制
/**
 * @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页面:

代码语言:javascript
复制
<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。

EN

回答 1

Stack Overflow用户

发布于 2016-02-09 19:55:59

不再支持JxBrowser 4.9。在JxBrowser 6.1中,此问题不可重现,因此我建议您尝试6.1。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35266301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档