4D v14.3Gestão programada de áreas web |
||
|
4D v14.3
Gestão programada de áreas web
Gestão programada de áreas web
Os comandos deste tema são dedicados a gestão programada de objetos de formulário de tipo área web. As áreas web podem mostrar todo tipo de conteúdo web mesmo dentro do ambiente 4D: as páginas HTML com conteúdos estáticos ou dinâmicos, arquivos, imagens, Javascript, Flash, PDF, etc. e inclusive documentos MS (em Windows quando MS Office estiver instalado). A imagem abaixo mostra uma área web incluída em um formulário e mostra uma página HTML: Além dos comandos do tema web Area, várias ações e eventos de formulários dedicados permitem ao desenvolvedor controlar o funcionamento das áreas web. Podem ser utilizadas variáveis específicas para intercambiar informação entre a área e o ambiente 4D. Estas ferramentas podem ser utilizadas para desenvolver um navegador web básico em seus formulários. A criação de um área web se realiza com a ajuda de uma variante do botão Area de plug-im/Sub-formulário da barra de objetos do editor de formulários de 4D (para maior informação, consulte o manual de Desenho). Como os outros objetos dinâmicos do formulário, uma área web dispõe de um nome de objeto e de um nome de variável, que podem ser utilizados para manejá-la por programação. A variável padrão associada ao objeto área web é de tipo Texto. Específicamente, pode utilizar os comandos OBJECT SET VISIBLE e OBJECT MOVE com as áreas web. Nota: a variável Texto associada a área web não contém uma referência portanto não pode ser passada como parâmetro a um método. Por exemplo, para uma área web chamada MinhaArea, não pode ser utilizado o seguinte código: MeuMetodo(MinhaArea) Código para MeuMétodo: WA REFRESH CURRENT URL($1) `Não funciona Para este tipo de programação, precisará utilizar ponteiros: MeuMetodo(->MinhaArea) Código de MeuMetodo: WA REFRESH CURRENT URL($1->) `Funciona Além das variáveis de objetos padrão (ver parágrafo anterior), duas variáveis específicas são associadas automaticamente a cada área web:
A variável "URL" é de tipo string. Contém a URL carregada ou que está sendo carregada pela área web associada.
A variável URL produz os mesmos efeitos que o comando WA OPEN URL. Entretanto devem levar em consideração as seguintes diferenças:
"Progresso" é uma variável de tipo Inteiro longo. Contém um valor entre 0 e 100, representa a porcentagem de carregamento completo da página mostrada na área web. Esta variável é atualizada automaticamente por 4D. Não é possível modificá-la manualmente. Pode chamar aos métodos 4D desde o código JavaScript executado em uma área web e obter valores em troca. Para poder chamar aos métodos 4D de uma área web, deve selecionar a opção Acesso métodos 4D para a área na Lista de propriedades: Quando a opção Acesso a métodos 4D está selecionada, a Web Kit integrada de 4D da a área um objeto JavaScript chamado $4d que pode ser associado com qualquer método projeto 4D utilizando a notação objeto ".". $4d.HelloWorld(); Atenção: JavaScript diferencia entre maiúsculas e minúsculas, porque que é importante ter em conta que o objeto se chama $4d (com "d" minúscula). $4d.4DMethodName(param1,paramN,function(result,error){})
Dado um método projeto 4D chamado today que não recebe parâmetros e devolve a data atual como uma cadeia. C_TEXT($0) Na área web, o método 4D pode ser chamado com a seguinte sintaxe: $4d.today() O método 4D não recebe nenhum parâmetro mas devolve o valor de $0 a função de retro chamada chamada por 4D depois da execução do método. <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script type="text/javascript"> $4d.today(function(dollarZero) { var curDate = dollarZero; document.getElementById("mydiv").innerHTML=curDate; }); </script> </head> <body>Today is: <div id="mydiv"></div> </body> </html> O método projeto 4D calcSum recebe os parâmetros ($1...$n) e devolve sua soma de $0: Código 4D do método calcSum: C_REAL(${1}) // recebe nos parâmetros de tipo REAL O código JavaScript que executará na área web é: $4d.calcSum(33, 45, 75, 102.5, 7, function(dollarZero) { var result = dollarZero // resultado é 262.5 }); Este exemplo utiliza o mesmo método projeto calcSum que o exemplo anterior, mas inclui a gestão de erros: $4d.calcSum("alpha", 45, 75, 102.5, 7, function(result, error) { if (error != null) alert( "got error: " + error[0].message); else alert( "got result: " + result); }); Os eventos formulário específicos estão destinados a gestão programada de áreas web, particularmente a ativação de links:
Além disso, as áreas web são compatíveis com os eventos de formulário genéricos abaixo:
Para maior informação sobre estes eventos, consulte a descrição do comando Form event Pode ver e utilizar o inspetor web dentro das áreas web de seus formulários. O inspetor web é o depurador do Web Kit integrado, que analisa o código e o fluxo de informação das páginas web. Mais particularmente, este inspetor web está incluído no navegador Chrome. As seguintes condições devem ser cumpridas para poder ver o inspetor web em uma área web:
WA SET PREFERENCE(*;"WA";WA enable Web inspector;True) Para obter mais informação, consulte a descrição do comando WA SET PREFERENCE. Quando tenha realizado os ajustes como foi descrito acima, você terá a nova opção Inspecionar Elemento no menu contextual da área:
https://developers.google.com/chrome-developer-tools/docs/scripts Durante a execução do formulário, o usuário dispone das funções de interface padrão dos navegadores no área web, lo qual permite a interação com as outras áreas do formulário:
Em Windows, as áreas Web são compatíveis com a visualização e a modificação dos documentos Microsoft Office (quando Microsoft Office estiver instalado na máquina). Em particular, os documentos Word, Excel e Powerpoint (extensões .doc, .xls e .ppt) podem ser manejados. O formato XML MS Office também é compatível. Nota: MS Office 2007 não permite, por padrão, a visualização de documentos em um navegador Web; sempre estão abertos em uma nova janela. Pode modificar este funcionamento utilizando as instruções que se encontram nesta direção: http://support.microsoft.com/kb/162059/em-us Em Windows, não é recomendável acessar através de uma área web ao servidor web da aplicação 4D, que contém essa área, porque essa configuração pode provocar um conflito que paralize a aplicação. Logicamente, um 4D remoto pode acessar ao servidor web do 4D Server, mas não a seu próprio servidor web. Os URLs administrados por programação em áreas web em Mac OS devem começar pelo protocolo. Por exemplo, deve passar a string "http://www.meusite.com" e não apenas "www.meusite.com". |
PROPRIEDADES
Produto: 4D ARTICLE USAGE
Manual de linguagem 4D ( 4D v14.3) Inherited from :
Gestão programada de áreas web ( 4D v13.5) |