Executar Javascript, Maker criando pagina em Camadas
-
Ola, boa tarde.
Estou criando um formulário e adicionando um fluxo na ação Ao Clicar de um botão. O formulário tem:<Botão> <Texto Longo> <Texto Alvo>
O intuito é quando clicar no botão, executar o javascript que fiz:
document.getElementById('id_textoAlvo').scrollIntoView();
Eu inseri um botão com o javascript feito sem o maker:
<button onclick="document[....]">
e funciona. Porém ao criar esse botão com a ferramenta integração do maker, e inserir o fluxo na aba eventos da integração, não funciona.Analisando o motivo, meu colega percebeu que: O maker cria o html em camadas, ie,
<body1> <iframe> #document <body2> <iframe> #document <body3> <iframe> </iframe> </body> </iframe> </body> </iframe> </body>
Eu percebi que: Quando o javascript é executado pelo fluxo do maker, o maker roda esse javascript na primera camada (<body1> no exemplo acima). A primeira camada não contem "id_textoAlvo", contem apenas os elementos que o próprio maker cria. A camada com minhas coisas é a camada <body3>. Quando eu seleciono a camada 3 no navegador, o comando js: getElementById('id_textoAlvo') funciona pois ele pertence a essa camada, quando escolho a camada 1, não funciona.
Quando o javascript é inserido puramente no HTML, como dito la no começo, ele executa o javascript direito, mas por questões próprias, eu preciso chamar esse javascript por fluxo (precisa ser executado no final de um fluxo da aplicação).
A pergunta é: como eu escolho qual camada do maker ele vai rodar o javascript usando a função "Executar Javascript" do maker? (Eu já tentei usar "Executar Javascript em Um Contexto", mas eu não sei como pegar o contexto certo, já tentei varias opções).
A demonstração do erro está gravada no video abaixo
Erro Contexto Maker -
@sinapse-dev, boa tarde.
Nesse cenário você deve utilizar a função Executar Javascript em um Contexto informando onde aquele script deve ser executado.
-
@janpier-dos-santos Sim na postagem eu escrevi isso. Eu tentei usar em um contexto, mas não consegui encontrar a referencia para esse contexto de nenhuma das seguintes formas:
Obter Corpo da Pagina,
Obter Corpo da Pagina do JSP,
Obter Documento da Pagina,
Obter Elemento pelo ID ("id_main" pegando a tag main do body)
Obter Elemento pelo Nome da Tag (body e main)
Obter Referencia da Aba (cadastro - a principal que eh criada) -
Nesse caso você tem que obter a referência que deseja executar o JS, existem funções na API que podem ser utilizadas, da categoria HTML, seguindo a estrutura que você montou, conseguirá chegar ao contexto.