Javascript 将网页另存为Html错误

Javascript 将网页另存为Html错误,javascript,jquery,html,ajax,filesaver.js,Javascript,Jquery,Html,Ajax,Filesaver.js,我正在使用它将网页保存为html 以下代码在用户单击下载时执行- var originalstr=$.ajax( { type: "GET", url:"url", async: false }).responseText ; var str = $(originalstr).find('.toolbar').remove().end(); saveAs(new Blob([ str], {type: "text/html;charset=utf

我正在使用它将网页保存为html

以下代码在用户单击下载时执行-

var originalstr=$.ajax(
{
    type: "GET",         
    url:"url",
    async: false 

}).responseText  ;
var  str = $(originalstr).find('.toolbar').remove().end();
saveAs(new Blob([ str], {type: "text/html;charset=utf-8"}), "Plan_Enrollment_Show_All.HTML");
我得到了响应,删除了一个带有类名工具栏的div标记,然后将其发送到FileSaver.js的saveAs函数

我得到的网页中有[object object]作为下载的内容文件

如果我不做任何修改并通过originalstr,那么我就会得到正确的输出。有什么帮助吗

我已经获取了转义的html,并尝试通过删除div来构建html,结果成功了。为了转义html,我使用了这个函数,但是当我尝试使用javascript的转义函数转义时,我得到了不同的响应

使用类删除标记的演示-

据我所知,即使在操作$s变量之后,您也需要数据/表格。我想正如前面指出的,你必须说哪些内容必须显示。在这种情况下,div或table都将给出相同的结果。但是,另一个好处是克隆HTML contentouterHTML函数

$.fn.outerHTML = function() {
  return $('<div />').append(this.eq(0).clone()).html();
};

var $s = $(s).find('.a-IRR-toolbar').remove().end();
console.log($s);

var $t = $(s).find('.a-IRR-toolbar').remove().end().find("div").outerHTML();
console.log($t);
以上所有值给出相同的结果。但是,实施的是一种良好的做法


如果需要任何特定的内容,请告诉我。

您将获得[object object],因为您将jQuery对象分配给str。在结束后应用html,以便将修改后的标记作为字符串。现在,我将str值获取为未定义,这在我将调用添加到html时不会发生在您的小提琴中。你必须告诉我们更多。更新了fiddle链接,第二个变量是$s1,它给出的是未定义的$s1中的第一项是文本节点,它没有标记,因此html返回未定义的。您必须匹配要保存的元素。我得到的结果是$s.find'.a-IRR-toolbar'.remove.end.finddiv.html,但这取决于您的标记。var$t=$s.find'.a-IRR-toolbar'.remove.end.finddiv.html;正在为我工作,但css不工作。。。
var $t = $(s).find('.a-IRR-toolbar').remove().end().find("div");

var $t = $(s).find('.a-IRR-toolbar').remove().end().find("table");

var $t = $(s).find('.a-IRR-toolbar').remove().end().find("div").outerHTML();

var $t = $(s).find('.a-IRR-toolbar').remove().end().find("div").html();