TWebEngine no SmartClient HTML (WebApp/WebAgent Atualizados)

Utilizando a versão 10.0.14 do WebApp e 1.0.16-RC1 do SmartClient HTML nas releases 2310 e 2410 do Protheus, estou tendo um comportamento inesperado no TWebEngine quando executando no SmartClient WEB que não ocorre no SmartClient Desktop.

Muita coisa já foi corrigida desde então, porém ainda ficou pendente um problema relacionado à links de um arquivo HTML carregado para o TWebEngine via SetHTML(), onde não está aceitando links do tipo âncora (Links na própria página).

Foi feito um html com um sumário, onde o usuário pode pressionar o link para ir para uma sessão mais a frente nesse arquivo HTML. Ao exportar o HTML para fora do Protheus, funciona corretamente.

Para tentar contornar o problema foi usado javascript para verificar se há contorno para o problema. Na versão Desktop mais recente o link com âncora deixou de funcionar, mas com javascript (Release 2310) passou a funcionar corretamente, porém na versão WEB não executa.

Testes realizados no Chrome e Edge apenas em ambiente Windows.

Exemplo de Link com âncora:

Com Javascript:
<a href="javascript:void(0);" onclick="scrollToSection('ancora01')">Seção 1</a>

function scrollToSection(id,typeBehavior) {
    var element = document.getElementById(id);
    if (element) {
        if ( typeBehavior === undefined ){
            element.scrollIntoView({ behavior: 'smooth' });
        } else {
            element.scrollIntoView({ behavior: typeBehavior });
        }
    }
}

Sem Javascript:
<a href="#ancora01">Seção 1</a>

Outro post antigo relacionado a esse tema de diferenças entre o Desktop e a versão WEB: https://devforum.totvs.com.br/1505-twebchannel--twebengine-via-smartclient-html-usando-webappdll

Links Relacionados: https://tdn.totvs.com/display/tec/4.+Migrando+do+SmartClient+Desktop+para+o+WebApp https://tdn.totvs.com/pages/viewpage.action?pageId=118885352

Alguém já passou por esse problema ou teve necessidade parecida, que gostaria de compartilhar?

compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags twebengine smartclient ou faça a sua própria pergunta.