3 votes

Est-ce que get() peut récupérer le html complet après que les scripts de cette page aient fini de l'ajuster ?

Existe-t-il un moyen d'effectuer un GET AJAX sur une page et de récupérer la version finale du HTML de cette page après que tous ses propres scripts aient fini d'ajuster son contenu ?

Actuellement, si j'effectue un GET sur une page avec des scripts qui s'ajoutent au HTML, cela me donnera le HTML complet tel qu'il était avant que ce contenu supplémentaire ne soit ajouté.

Ainsi, si un javascript génère un tableau spécifique sur cette page, il ne sera pas renvoyé par le GET. Parce qu'il n'existait pas avant que les scripts de cette page ne le génèrent.

Comment pouvez-vous get() le produit fini du HTML d'une page, après qu'un élément de cette page l'ait modifié ?

2voto

yoelp Points 1386

Un appel AJAX ne renverra que ce que le serveur a renvoyé, Mais ce que vous pouvez faire, c'est déposer la réponse (données) dans le DOM et cela provoquera l'exécution de javascript, puis vous pourrez retirer le contenu avec jQuery, Voir ci-dessous :

$.get("data.html",function(data){
  //insert the response in a hidden div that will cause js to run and apply changes
  var $container = $("<div>").html(data);
  var newData = $container.html();
  //newData will hold the final html 
});

Note : La valeur réelle script ne sera pas dans newData .

J'espère que cela vous aidera

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X