Publicado em 5 de outubro de 2017
JxBrowser 6.16
O JxBrowser 6.16 inclui uma API DOM expandida, a capacidade de ativar e desativar sugestões de preenchimento automático de formulários e uma forma de fornecer um código de estado HTTP personalizado. Esta versão também suporta duas novas plataformas macOS e Ubuntu.
macOS 10.13 High Sierra
O JxBrowser 6.16 agora suporta oficialmente o macOS 10.13 High Sierra. Os testes efetuados neste SO confirmaram que todas as funções da biblioteca funcionam como esperado.
Ubuntu 17.04 Desktop
Também adicionamos suporte para o Ubuntu 17.04 Desktop. Tudo o que você precisa fazer para rodar o JxBrowser no Ubuntu 17.04 é instalar
a biblioteca de sistema libgconf-2.so.4
em falta, requerida pelo Chromium 60, que não está instalada no Ubuntu 17.04 por padrão.
O pacote Ubuntu para esta biblioteca é libgconf-2-4
:
sudo apt-get install libgconf-2-4
DOMNode.compareDocumentPosition()
O método DOMNode.compareDocumentPosition()
permite comparar a posição do nó atual com outro nó
na árvore DOM:
browser.addLoadListener(new LoadAdapter() {
@Override
public void onFinishLoadingFrame(FinishLoadingEvent event) {
if (event.isMainFrame()) {
DOMDocument document = event.getBrowser().getDocument();
DOMElement sourceNode = document.findElement(By.id("div1"));
DOMElement targetNode = document.findElement(By.id("div2"));
DOMNodePosition targetNodePosition = sourceNode.compareDocumentPosition(targetNode);
System.out.println(targetNodePosition); // FOLLOWING
}
}
});
browser.loadHTML("<html>"
+ "<body>"
+ "<div id='div1'></div>"
+ "<div id='div2'></div>"
+ "</body>"
+ "</html>");
DOMDocument.getBaseURI()
O método DOMDocument.getBaseURI()
retorna o URI base do documento atual:
browser.addLoadListener(new LoadAdapter() {
@Override
public void onFinishLoadingFrame(FinishLoadingEvent event) {
if (event.isMainFrame()) {
DOMDocument document = event.getBrowser().getDocument();
String baseURI = document.getBaseURI();
System.out.println(baseURI); // https://teamdev.com/
}
}
});
browser.loadHTML("<html>"
+ "<head>"
+ "<base href='https://teamdev.com/'>"
+ "</head>"
+ "</html>");
Ativar/desativar sugestões de preenchimento automático de formulários
Agora você pode ativar/desativar a apresentação de um pop-up com sugestões de preenchimento automático de formulários de forma tão simples como:
browser.getContext().getAutofillService().setEnabled(false);
Código de status HTTP personalizado
Agora é possível fornecer um código de status HTTP personalizado com uma resposta que retorna do ProtocolHandler:
URLResponse response = new URLResponse();
response.setStatus(HttpStatus.from(111));
Melhorias
- A documentação das opções de impressão foi expandida com informações sobre as definições ignoradas ao imprimir para PDF.
Problemas corrigidos
- O problema com a validação dos arquivos binários quando o JxBrowser está sendo executado duas vezes simultaneamente.
- Falha nativa no macOS com um sistema de arquivos sensível a maiúsculas e minúsculas ao utilizar determinados locais, por exemplo, zh_cn.
- Analisar certificados X509 no macOS.
NoClassDefFoundError
num ambiente OSGi.- O problema com a atualização das preferências do browser que impede o disparo de eventos de entrada.
Nos envie uma mensagem para customer-care@teamdev.com para fazer o download do JxBrowser 6.16.
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.