2016-02-08 6 views
1

я использую JxBrowser 4.9 на Windows 7, когда связь имеет цель = «_blank» и указывают на PDF,JxBrowser: отключить плагин в формате PDF во всплывающем окне не разрешено загружать PDF

новое всплывающее окно, приходит с Pdf плагин,

, как я хочу, чтобы загрузить этот PDF-файл, я отключил плагин в формате PDF в этом всплывающем окне, через

PluginManager pluginManager = browser.getPluginManager(); 
pluginManager.setPluginFilter(new PluginFilter() { 
    @Override 
    public boolean isPluginAllowed(PluginInfo pluginInfo) { 
    return false; 
    } 
}); 

всплывающего окна показывает черный экран с «не удалось загрузить плагин ", но не предлагает мне скачать pdf.

Если я сменил ссылку на подавление цели = "_ blank" и отключил плагин pdf, можно скачать pdf.

Есть ли что-то, что нужно сделать, чтобы загрузить pdf-файл, когда target = "_ blank"?

благодарит за вашу помощь!

Вот мой простой класс: класс 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.

ответ

0

JxBrowser 4.9 больше не поддерживается. В JxBrowser 6.1 этот вопрос не воспроизводится, поэтому я рекомендую вам попробовать 6.1.