Publicado em 16 de setembro de 2016
JxBrowser 6.7
Nesta atualização, expandimos a API existente com novas funcionalidades, corrigimos vários problemas críticos comunicados pelos nossos clientes e melhoramos a estabilidade da biblioteca em ambientes multi-threaded.
Vamos lhe fornecer mais detalhes sobre o que foi melhorado:
- Adicionamos uma funcionalidade que permite ativar/desativar o zoom para uma instância do
Browser
. Agora você pode desativar a funcionalidade de zoom para uma instância específica doBrowser
para impedir que a página Web dê zoom através das funções de aumentar/reduzir zoom ou através de gestos de toque nos dispositivos de tela tátil. - A nova versão inclui agora uma funcionalidade que permite obter notificações quando a página Web se torna não reativa/responsiva.
- O suporte a monitores HiDPI em plataformas Windows foi melhorado. Vários desenvolvedores relataram o problema com o
posicionamento do componente
BrowserView
dentro do frame Java em monitores HiDPI na plataforma Windows. O problema é reproduzível apenas quando o fator de escala do tipo de fonte do sistema é != 100% e o processo Java não tem o sinalizador DPI Awareness no manifesto do processo. Então, eles estavam executando o programa Java usando ojava.exe
corrigido, onde o sinalizador DPI Awareness foi removido. O processo JxBrowser Chromium tem o sinalizador DPI Awareness no manifesto do processo. Assim, isto leva a uma situação em que os processos Java e JxBrowser Chromium são configurados de forma diferente. Para resolver o problema, precisamos executar o processo JxBrowser Chromium com o mesmo valor do sinalizador DPI Awareness. Atualizamos o código no processo JxBrowser Chromium, para que detecte programaticamente se o sinalizador está definido no processo Java e configure o processo JxBrowser Chromium em conformidade. - A API JavaScript-Java Bridge foi expandida. Adicionamos a funcionalidade que permite definir itens para
JSArray
no índice específico, implementamos o suporte de acesso (capacidade de modificar) ao campo público do objeto Java injetado no código JavaScript e adicionamos a capacidade de instanciar objetos JavaScript no código Java. - O método
DOMElement.getBoundingClientRect()
foi implementado. Este método permite obter os limites do elemento e a sua posição relativamente ao canto superior esquerdo da janela de visualização do documento atual. - O método
Browser.forwardKeyEvent()
foi adicionado. Este método permite reencaminhar os eventos do teclado para a página Web atualmente carregada. Ele é muito útil quando se utiliza o JxBrowser numa aplicação Java de quiosque que tem de ser executada em terminais com tela tátil. - O tamanho dos arquivos JAR do JxBrowser foi reduzido em ~30% ao utilizar um melhor algoritmo de compressão para arquivar os binários do Chromium.
- O nível de log padrão foi alterado para SEVERE ao invés de ALL. De acordo com os seus feedbacks, vocês preferem que o JxBrowser não imprima todas as mensagens de log na saída do console por padrão.
- O título padrão da janela pop-up foi alterado. Agora, o título da janela pop-up apresenta o título do documento atualmente carregado. Se o título do documento representar uma string vazia, o título da janela pop-up também será vazio. Ele não apresenta o texto “JxBrowser Popup” como nas versões anteriores.
- Nós removemos a assinatura do TeamDev dos arquivos JAR. A partir desta atualização, decidimos enviar o JxBrowser como um conjunto de arquivos JAR não assinados. A partir dos pedidos de suporte, verificamos que os arquivos JAR assinados causam problemas de implementação e de modificação para os programadores. Os programadores não podem modificar os arquivos Manifest dos arquivos JAR assinados do JxBrowser ou combiná-los num único JAR. Quando eles implementam o JxBrowser na sua aplicação JWS, precisam remover a assinatura da TeamDev e assinar os arquivos JAR do JxBrowser com a sua própria assinatura. Para nos livrarmos destes pequenos grandes problemas, decidimos remover a assinatura dos arquivos JAR do JxBrowser para facilitar a vida dos programadores Java.
A versão introduz correções para os seguintes problemas:
- O erro
StringIndexOutOfBoundsException
ao chamar o métodoDOMElement.getAttributes()
. - O erro
"IllegalArgumentException: Unsupported value: 17"
ao carregar a página web. - O problema quando a impressora imprime documentos coloridos quando a opção “Preto e Branco” na caixa de diálogo Imprimir padrão está selecionada. O problema estava no sinalizador de definição de impressão incorreto enviado para o motor Chromium durante a impressão.
- O problema quando o processo de renderização é encerrado inesperadamente ao chamar o método
DOMElement.hasProperty()
. - O problema quando os atalhos de teclado como
Cmd+A
,Cmd+C
,Cmd+V
,Cmd+X
,Cmd+Z
,Cmd+Y
não funcionam no macOS quando CapsLock está ativado. - Estabilidade da biblioteca em ambiente multi-threaded ao criar um número de instâncias
Browser
com únicoBrowserContext
.
Nos envie uma mensagem para customer-care@teamdev.com para fazer o download do JxBrowser 6.7.
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.