List icon Conteúdo

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 do Browser 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 o java.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étodo DOMElement.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 único BrowserContext.

Nos envie uma mensagem para customer-care@teamdev.com para fazer o download do JxBrowser 6.7.