Histórico da Página
...
Executa o envio de informações para a pagina/componente HTML carregada carregado no componente componente TWebEngine que que esta configurado para a Porta do TWebChannel. Assim é possivelpossível, por exemplo, injetar um trecho JavaScript na página via ADVPL.
...
Bloco de código | ||
---|---|---|
| ||
advplToJs( < cCodeType >, < cContent > ) |
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
cCodeType | caractere | Indica o tipo de mensagem que será enviada à página HTML. | X |
cContent | caractere | Indica o conteudo que será enviado à pagina HTML. | X |
...
icon | true |
---|---|
title | Title |
...
Observações
A instrução é "injetada" via ADVPL através do método dialogoWebChannel.advplToJs.connect, e é efetivamente inserido à partir do método twebchannel.advplToJs, que deve ser inserido na página html carregada, conforme exemplo /componente HTML carregada. Veja com atenção o exemplo e a observação abaixo abaixo:
Bloco de código language cpp theme Eclipse linenumbers true collapse false twebchannel.advplToJs = function(key, // Techo JavaScriptvalue) { // Conecta WebSocket Server totvstec.connectWS( function(){ ---------------------------------------------------------- // CarregaInsira mensageriaaqui exclusivao datratamento pagina para as mensagens vindas do AdvPL dialog.advplToJs.connect(function (codeType, codeContent, objectName) { if (codeType == "html // ---------------------------------------------------------- if (key === "<script>") { var formlet tag = document.getElementById("mainForm"createElement('script'); form.innerHTML += codeContent; } else if (codeType == "JQuery_CSS")tag.setAttribute("type", "text/javascript"); tag.innerText = {value; // Aplica CSS do JQuery Mobile apos criacao dos campos $('.ui-page').trigger('create'); document.getElementsByTagName("head")[0].appendChild(tag); } else if(key }); // Envia sinal informando termino da carga=== "<new-item>") { dialog.jsToAdvpl("page_started", "Pagina inicializada");item.innerHTML = value } });
- Os tipos (cCodeType) "js" e "css", já são tratados automaticamente pelo arquivo totvstec.js, os demais tipos devem ser tratados diretamente pelo desenvolvedor, exatamente como o "JQuery_CSS", demonstrado no exemplo acima.
Exemplos
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
code := "function myFunc(){alert('myFunc');}" oWebChannel:advplToJs("js<script>", code) |