Logo Hardware.com.br
Gabriel Rochadel
Gabriel Roch... Super Participante Registrado
359 Mensagens 31 Curtidas

[Resolvido] Como fazer para o Javascript pegar a página externa várias vezes quando for chamado na página principal?

#1 Por Gabriel Roch... 27/10/2023 - 14:36
Porque o elemento teste só é carregado uma única vez e não várias vezes,
pois coloquei 3 div chamando o arquivo via js para ser inserido na div com classe="teste":
e como fazer para que seja adicionado a página externa quantas vezes eu quiser ??

elemento só aparece na primeira div com classe teste.

nome = paginaexterna.html 
 código abaixo: Anexo do postAnexo do postAnexo do post

Anexos

Responder
esquiloesperto
esquiloesper... Cyber Highlander Moderador
7.1K Mensagens 2.2K Curtidas
#2 Por esquiloesper...
29/10/2023 - 21:44
Olá Gabriel
Só não entendi a parte do: "[...] quantas vezes você quiser".
- Porque para carregar em todas elas existe solução.

O problema de carregar somente a primeira é a função utilizada: ➦ a "querySelector" captura apenas a primeira ocorrência.
Para capturar todas elas use uma destas:

  • querySelectorAll

  • getElementsByClassName


No script faça no lugar de "el":
 74565
Para o primeiro : target = ("ponto + nome da classe")
Mas no segundo, target = ("nome da classe")

E depois, para popular todas de uma vez só precisa alterar uma linha:
 74566

É isso!
Bom proveito!
Só é difícil enquanto estiver oculto! cool.png
Use a pesquisa


rolleyes.png  Navegar é preciso, viver... também.  smile.png
andremachado
andremachado Highlander Registrado
3.3K Mensagens 2K Curtidas
#3 Por andremachado
30/10/2023 - 07:50
Gabriel Roch... disse:
Porque o elemento teste só é carregado uma única vez e não várias vezes,
pois coloquei 3 div chamando o arquivo via js para ser inserido na div com classe="teste":
e como fazer para que seja adicionado a página externa quantas vezes eu quiser ??

elemento só aparece na primeira div com classe teste.

nome = paginaexterna.html 
 código abaixo:‎‎‎


Há três problemas aqui.

Primeiro, observe que as três divs que você criou possuem a mesma id (meucoracao) e a mesma classe (teste). Acontee que, pelas normas da W3C, a id de um elemento deve ser única! Você não pode ter mais de um elemento com a mesma id - é pra isso que servem as classes! Fazendo o que você fez, o comportamento do código JavaScript poderá ser imprevisível.

Segundo: XMLHttpRequest é muito antigo, o método fetch é um substituto mais atual.

E, por último, seu código é inseguro por padrão. O que garante que ninguém irá colocar um endereço malicioso no parâmetro arquivo? O correto a se fazer é, no mínimo, uma validação de que o parâmetro arquivo é uma URL local - e olhe lá! Veja que você verifica se o elemento target existe, mas em nenhum momento verifica se arquivo existe ou se não é uma URL completa.
56 6F 63 EA 20 E9 20 6D 75 69 74 6F 20 63 75 72 69 6F 73 6F 2E 2E 2E
----------------------------------------
Acer Aspire E5-471-30DG (Casa)
Samsung Book 550XDA-K07 (Trabalho)
esquiloesperto
esquiloesper... Cyber Highlander Moderador
7.1K Mensagens 2.2K Curtidas
#4 Por esquiloesper...
30/10/2023 - 15:22
São boas as considerações feitas pelo André. Convém seguí-las, sempre.

O código original não segue as boas práticas de programação; Só não mencionei porque percebi que se tratava de teste com execução local usando 'GET', inclusive.

Mas para entender a solução do problema relatado está tranquilo.
Ou seja, em produção é necessário redobrar a cautela.

Reforçando: ID repetido na mesma página não deve existir. – Nunca!
Só é difícil enquanto estiver oculto! cool.png
Use a pesquisa


rolleyes.png  Navegar é preciso, viver... também.  smile.png
Responder Tópico
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal