Publicado em 6 de novembro de 2017
JxBrowser 6.17
O JxBrowser 6.17 apresenta um grande número de novas funcionalidades e melhorias.
Sandbox no Windows
Nesta versão, adicionamos o suporte da Sandbox do Chromium nas plataformas Windows. Por padrão, a Sandbox está desativada
para manter a compatibilidade com versões anteriores. Para ativar a Sandbox, defina a propriedade jxbrowser.chromium.sandbox
System
como true antes de criar a primeira instância do Browser
. Por exemplo:
System.setProperty("jxbrowser.chromium.sandbox","true");
Browser browser = new Browser();
DOMFrameElement
A interface DOMFrameElement
foi introduzida. Agora, você pode converter a instância DOMElement
que representa um elemento HTML
IFRAME ou FRAME para DOMFrameElement
, e acessar a instância DOMDocument
do frame fornecido. Por exemplo:
DOMDocument document = browser.getDocument();
DOMElement iframe = document.findElement(By.tagName("iframe"));
if (iframe instanceof DOMFrameElement) {
DOMFrameElement frameElement = (DOMFrameElement) iframe;
DOMDocument frameDocument = frameElement.getContentDocument();
//...
}
Melhorias
A partir desta versão, o JxBrowser suporta intervalos de páginas ao salvar PDF como documento PDF. A impressão de conteúdos parciais também se tornou possível.
Levamos a estabilidade a sério, por isso esta versão pode ostentar uma estabilidade melhorada em ambiente multi-threaded ao descartar
a instância Browser
, e uma estabilidade melhorada do motor Chromium ao submeter as credenciais de um cartão de crédito numa página web do
portal de pagamentos.
E mais algumas melhorias convenientes nesta versão:
A implementação do Swing DefaultDialogHandler
agora respeita as regras EDT do Swing e desabilita diálogos UI no EDT.
A geração do arquivo debug.log
no Windows 7 e 8/8.1 foi desativada.
Problemas corrigidos
- Tela preta e piscamento durante o redimensionamento do
BrowserView
no modo de renderização heavyweight em plataformas Windows. - Exceção
IllegalArgumentException
lançada ao fornecer um idioma válido através do alternador--lang
do Chromium. - A inesperada exceção
ConcurrentModificationException
lançada pela implementação internaNetworkDelegate
. - A rotação não funciona para drop downs com o modo de renderização lightweight na aplicação JavaFX.
- A caixa de verificação dupla não funcionando na caixa de diálogo de impressão Swing padrão.
- O nome da impressora selecionada não sendo aplicado nas implementações padrões da caixa de diálogo de impressão JavaFX e Swing.
- O código JavaScript
window.outerHeight
sempre retorna 0 no modo de renderização lightweight. BrowserContext
duplicando os diretórios de dados, cache e memória do Chromium quando um caminho relativo é fornecido.- Impressão de conteúdo SVG na plataforma Windows. Estava quebrada devido à desativação do Sandbox Chromium. Alguns conteúdos SVG requerem que o Sandbox do Chromium esteja ativado para imprimir corretamente conteúdos SVG.
- O método
Browser.invokeAndWaitFinishLoadingMainFrame()
nunca termina se o carregamento falhar. - Passar o mouse sobre um cabeçalho data grid redimensionável não altera o cursor.
Suporte a Java 9
Esta versão não inclui suporte para Java 9. Infelizmente, a Oracle removeu a importante funcionalidade sem fornecer quaisquer alternativas. Anteriormente, era possível obter os identificadores de janela nativos para frames Java Swing/JavaFX. Agora, para suportar o modo de renderização heavyweight em Java 9, temos de encontrar uma abordagem completamente nova.
É nisso que estamos trabalhando neste momento. Faremos o nosso melhor para ativar o suporte de Java 9 no JxBrowser assim que possível. Obrigado pela sua paciência.
Nos envie uma mensagem para customer-care@teamdev.com para fazer o download do JxBrowser 6.17.
Siga @JxBrowserTeam para obter todas as atualizações da biblioteca.
Se inscreva na nossa RSS feed para obter atualizações instantâneas sobre os novos lançamentos.