Publicado em 16 de julho de 2020
JxBrowser 7.9
Temos o prazer de anunciar o lançamento do novo JxBrowser 7.9 com algumas funcionalidades e uma série de correções e melhorias!
Desativar o visualizador de PDF
Esta versão do JxBrowser permite desativar o visualizador de PDFs integrado no Chromium. Você pode desativar o Visualizador de PDF se quiser transferir documentos PDF ao invés de apresentá-los no Visualizador de PDF. O exemplo seguinte demonstra como fazer:
engine.plugins().settings().disablePdfViewer();
Limpar o cache HTTP
Agora você pode marcar para exclusão todas as entradas de cache HTTP armazenadas no disco e na memória. O exemplo a seguir demonstra como limpar todas as entradas de cache HTTP e aguardar até que as entradas sejam marcadas para exclusão:
httpCache.clear().join();
Importante: O método HttpCache.clearDiskCache(Runnable)
está marcado como @deprecated
e será removido em uma das
próximas versões. Em vez disso, utilize o método HttpCache.clear()
.
Navegação no histórico com overscroll
Agora o JxBrowser permite navegar para trás/para a frente com um deslize para a esquerda/direita em dispositivos com tela tátil. Por padrão, a navegação overscroll está desativada. Você pode ativá-la da seguinte forma:
browser.settings().enableOverscrollHistoryNavigation();
Melhorias
- Removida a página
about:blank
da lista de páginas inspecionáveis quando se navega para a URLlocalhost:<port>
DevTools. - Removida a limitação de tamanho mínimo do componente
BrowserView
no macOS e permitido redimensionar o componente para o menor tamanho possível. - Agora, não é necessário fechar o
Engine
em diferentes threads no aplicativo JavaFX, como era necessário antes. Assim, a abordagem seguinte já não é mais necessária:private static void close(Engine engine) { if (isMac()) { // No macOS, o motor deve ser fechado na thread da interface do usuário engine.close(); } else { // No Windows e no Linux, ele deve ser fechado numa thread que não seja da interface do usuário new Thread(engine::close).start(); } }
Problemas corrigidos
- O
OpenPopupCallback
nunca foi chamado e, como resultado, o pop-up nunca foi exibido ao clicar num link com o atributorel='noopener noreferrer'
. - O erro
java.lang.NullPointerException
quando o JavaFXBrowserView
é incorporado no diálogojavafx.scene.control.Alert
. - Os eventos de arrastar e soltar do Swing são bloqueados se um
BrowserView
estiver oculto antes de soltar os dados. - A caixa de diálogo de pedido de permissão é apresentada quando se baixa vários arquivos.
- A falha da GPU do Chromium ao acoplar/desacoplar o Swing
BrowserView
na janela do NetBeans 11 no Linux no modo de renderização acelerada por hardware. - Swing
BrowserView
não é redimensionado corretamente quando embutido em umJTabbedPane
e o painel com abas está sendo redimensionado. - O fechamento de uma janela Java com pelo menos um
BrowserView
incorporado leva ao fechamento inesperado de todas as instâncias doBrowser
no modo de renderização fora de tela no Windows. - Congelamento ao chamar
Browser.bitmap()
no modo de renderização fora da tela no Linux. - O componente
BrowserView
apresenta a legenda da janela com os botões minimizar, maximizar e fechar durante um curto período de tempo no modo de renderização fora de tela com GPU desativada e fundos transparentes ativados no Windows. - O formulário Web não sendo submetido se o arquivo tiver sido definido utilizando o método
InputElement.file(String...)
. - O evento DOM
change
não é acionado ao definir um arquivo através do métodoInputElement.file(String...)
. - O evento
FrameLoadFailed
com o erroBLOCKED_BY_RESPONSE
não é disparado quando a navegação dentro de umIFRAME
falha devido ao cabeçalho HTTPX-Frame-Options: sameorigin
. - A primeira página Web carregada não é apresentada no Windows 7 e no Windows Server 2008 R2 no modo de apresentação fora de tela.
- A primeira página Web carregada não é apresentada no JavaFX
BrowserView
se ela se tornar visível depois da página Web ter sido completamente carregada na instância correspondente doBrowser
no modo de apresentação fora de tela. - O erro
java.lang.IllegalStateException
ao desfocar o SWTBrowserView
quando sua instância correspondenteBrowser
já está fechada. - Bloqueio de thread ao exibir vários pop-ups no modo de renderização acelerada por hardware no Windows.
- O
UrlRequest
não tem um ID quando é concluído e destruído. - O evento
TitleChanged
não é ativado quando se navega para trás/para a frente na lista do histórico de navegação. - A linha branca de um pixel no modo de tela cheia no Linux e no modo de renderização acelerada por hardware.
- O Angular numa página Web não recebe os eventos DOM necessários ao pressionar
Enter
num campo de texto no modo de renderização fora de tela. - Animação JavaScript quebrada porque a biblioteca não descarrega a tela HTML no modo de renderização fora de tela com o fundo transparente ativado no Windows.
- O clique no touchpad causava o travamento do
Engine
no macOS quando anexado a uma URL de depuração remota. - As dicas de ferramentas não são apresentadas no modo de renderização acelerada por hardware no Windows.
- O erro
IllegalStateException
ao descartar o SWTBrowserView
de forma assíncrona. - O erro
IllegalStateException
ao pressionarCmd+Q
no macOS quando o ponteiro do mouse está sobre o JavaFXBrowserView
. - Impasse entre threads ao fechar o
Browser
durante a eliminação de outro componente SWT. - A chave
Command
não está sendo passada para uma página da web no macOS com JavaFXBrowserView
.
Baixe o JxBrowser 7.9
Por favor, compartilhe seu e-mail conosco, e nós lhe enviaremos instruções para download.
Não foi possível enviar o e-mail. Por favor, use o link direto para baixar o JxBrowser.
Se você é um cliente registrado, não precisa fazer nada para usar esta atualização.
Se você deseja avaliar o produto, precisa de uma licença de avaliação.
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.