Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
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 escrito para Linux, ao utilizar em Windows,
  //   basta mudar o caminho para o arquivo, ex: "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 

InactiveTimeout ao utilizar uma aplicação HTML através do componente TWebEngine (iframe)

...

O tempo de inatividade (inactive timeout) é definido pelo administrador do ERP para garantir, que caso uma conexão fique inativa por N minutos, ela seja automáticamente encerrada.

Para o WebApp avaliar se uma rotina está realmente em uso, enquanto o usuário digita/navega em uma aplicação HTML em um iframe, é necessário executar um conjunto de scripts.

Porém, um iframe só permite a execução desses scripts, quando a página carregada neste iframe possuir o mesmo protocolo+host-name+porta da página principal.

Exemplo:

Se a página principal for a http://www.totvs.com:8080/index.html

Seria possível usar um iframe apontando para http://www.totvs.com:8080/app1.php

Mas seria bloqueada a execução desses scripts, no caso de utilizar a página https://www.totvs.com:8080/pag1.html, pois o protocolo foi alterado de HTTP para HTTPS.

Neste caso, esgotado o prazo do inactive timeout, mesmo que o usuário estivesse atualizando dados no iframe, sua sessão seria interrompida.

Mais informações no link: WebEngine+InactiveTimeout

A importância do WebAgent para a integração com a estação de trabalho

...

O WebApp é homologado para Tablets, sem qualquer configuração adicional.

🚨 É possível também acessar o ERP a partir de um celular, porém a experiência de navegação será muito prejudicada, motivo pelo qual não é homologado.

...

Os navegadores possuem um conjunto de teclas proprietárias, impedindo seu uso através da função SetKey no WebApp.

🚨 Caso possua alguma customização que utiliza esses conjuntos de teclas, será necessário ajustar sua rotina.

...

Teclas de atalhoDescrição
Windows/LinuxMac
Ctrl+T⌘+tAbrir uma nova guia do navegador.
Ctrl+Shift+T ⌘+Shift+tReabrir guias fechadas anteriormente na ordem em que foram fechadas.
Ctrl+N⌘+nAbrir uma nova janela do navegador.
Ctrl+Shift+N⌘+Shift+nAbrir uma nova janela de navegação anônima.

Ctrl+Tab ou Ctrl+PgDn

⌘+Option+seta para a direita

Navegar entre as abas do navegador.

Ctrl+Shift+Tab ou Ctrl+PgUp

⌘+Option+seta para a esquerdaAcessar a guia aberta anterior
Alt+Home
Abrir a página inicial na guia atual
Ctrl+W ou Ctrl+F4⌘+wFechar a guia atual do navegador.
Ctrl+Shift+W ou Alt+F4⌘+Shift+wFechar a janela do navegador.
Alt+Espaço+n⌘+mMinimizar a janela atual
Alt+Espaço+x

Maximizar a janela atual

InactiveTimeout ao utilizar uma aplicação HTML através do componente TWebEngine

Para o WebApp confirmar se o usuário ainda esta utilizando o ERP, enquanto digita/navega em uma aplicação HTML carregada em um iframe, impedindo que o inactive timeout derrube esta sessão, precisamos executar um conjunto de scripts.

Porém, um iframe só permite a execução de scripts quando a página carregada nele possui o mesmo protocolo+host-name+porta da página onde se encontra este iframe.

Exemplo:

Se a página "mãe" é a http://www.totvs.com:8080/index.html

Seria possivel usar um iframe apontando para http://www.totvs.com:8080/app1.php

Mas seria bloqueada a execução de scripts no caso de utilizar a página https://www.totvs.com:8080/pag1.html, pois o protocolo foi alterado de HTTP para HTTPS.

Neste caso, esgotado o prazo do inactive timeout, mesmo que o usuário estivesse atualizando dados no iframe, sua sessão seria interrompida.

...

WebApp em telas sensíveis ao toque

...