可以在该页面之后获取完整的html'的脚本完成了对它的调整

Can get() retrieve full html after that page's scripts finish adjusting it?

本文关键字:脚本 调整 之后 获取 html      更新时间:2023-09-26

有没有一种方法可以在页面上执行AJAX GET,并在所有自己的脚本都调整完内容后,在该页面上检索HTML的最终版本?

现在,如果我用添加到HTML中的脚本在页面上执行GET,它会给我完整的HTML,就像添加额外内容之前一样。

因此,如果有一个javascript在该页面上生成一个特定的表,则GET不会返回该表。因为在该页面的脚本生成它之前,它并不存在

在页面上的任何内容都更改了HTML之后,如何get()页面的HTML成品?

AJAX调用只会返回服务器发回的内容,但你可以做的是在DOM中删除响应(数据),这将导致javascript运行,然后你可以用jQuery取出内容,请参阅波纹管:

$.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 
});

注意:实际的script元素将不在newData中。

希望这能帮助