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().

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 URL localhost:<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 atributo rel='noopener noreferrer'.
  • O erro java.lang.NullPointerException quando o JavaFX BrowserView é incorporado no diálogo javafx.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 um JTabbedPane 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 do Browser 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étodo InputElement.file(String...).
  • O evento FrameLoadFailed com o erro BLOCKED_BY_RESPONSE não é disparado quando a navegação dentro de um IFRAME falha devido ao cabeçalho HTTP X-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 do Browser no modo de apresentação fora de tela.
  • O erro java.lang.IllegalStateException ao desfocar o SWT BrowserView quando sua instância correspondente Browser 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 SWT BrowserView de forma assíncrona.
  • O erro IllegalStateException ao pressionar Cmd+Q no macOS quando o ponteiro do mouse está sobre o JavaFX BrowserView.
  • 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 JavaFX BrowserView.

Baixe o JxBrowser 7.9

Por favor, compartilhe seu e-mail conosco, e nós lhe enviaremos instruções para download.

Enviando...
Por favor, verifique sua caixa de entrada.

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.

Obtenha Teste Gratuito de 30 dias
Go Top