Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 9 Próxima »

Executa a navegação para URL selecionada

O componente TWebEngine utiliza, no SmartClient Desktop, um Chromium embutido, enquanto no WebApp, ele é um iframe, isso implica em algumas mudanças de comportamento, descritas neste documento.

Sintaxe

Navigate( < cUrl > )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cUrl

caractere

Indica a URL a ser executada, em schemas como: http:// https:// ou

file://

Informações importantes sobre o uso do file:// acesse aqui. 

X


Visualização de arquivos PDF


A partir do SmartClient 19.3.1.1 será possivel a visualização de arquivos PDF através do componente TWebEngine utilizando o método navigate:

Mais informações acesse: Melhoria - TWebEngine permite visualização de PDF's

Exemplo:
oWebEngine := TWebEngine():New(oModal, 0, 0, 800, 600)
cUrl := "http://site.com/documento.pdf" // Apenas ilustrativo
oWebEngine:navigate(cUrl)

WebApp | IMPORTANTE: Protocolo file://

Por motivos de segurança o browser não permite navegação para um arquivo local (file:///dir/file) dentro de um iframe, impedindo o uso deste protocolo no WebApp.

Como contorno, é possivel copiar o arquivo da estação de trabalho para uma pasta temporária no Servidor, utilizando a função CpyF2Web, acessando seu conteudo na sequência, veja o exemplo abaixo:

DEFINE DIALOG oDlg TITLE "Contorno para file://" FROM 0,0 TO 800,1200 PIXEL

  // Copia o arquivo da Estacao para o Servidor, retornando seu caminho
  // Este exemplo foi esrito para Linux, ao utilizar em Windows,
  //   basta mudar o arquivo para "c:/dir/arquivo"
  cFilePath := CpyF2Web("l:/home/mansano/totvs/file.txt", .T., .F., .F., .F.)
  
  oWebEngine := TWebEngine():New(oDlg, 0, 0, 100, 100,,)
  oWebEngine:Align := CONTROL_ALIGN_ALLCLIENT

  // Executa o Navigate para o arquivo temporario no Servidor
  oWebEngine:navigate(cFilePath)

ACTIVATE DIALOG oDlg CENTERED 

WebApp | IMPORTANTE: X-Frame-Options to Deny

A maioria dos sites, mesmo o totvs.com ou google.com, impedem seu uso através de um iframe, esta é uma medida de segurança para evitar tentativas de ataque como o Click-jacking, mais informações neste link:

https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Headers/X-Frame-Options  

Exemplo:

Caso haja um navigate para:

oWebEngine:navigate("https://www.google.com/")

Será apresentado o erro abaixo no console do seu navegador:

chromewebdata/:1  Refused to display 'https://www.google.com/' in a frame because it set 'X-Frame-Options' to 'sameorigin'.

Não existe contorno para essa questão, sendo atribuição do provedor (site) definir se seu conteúdo poderá ou não ser exibido através de um iframe.

Caso seja imprescindível para sua aplicação abrir um site com este bloqueio, pode utilizar a função ShellExecute.

// Exemplo de uso para Windows
ShellExecute( "open", "http://www.google.com.br", "", "", 1 )
 
// Exemplo de uso para Linux
shellExecute("Browser", "/usr/bin/firefox", "http://www.google.com.br", "/", 1 ) 

Exemplos

  oWebEngine:navigate("http://www.site_qualquer.com.br")
  • Sem rótulos