gpt4 book ai didi

javascript - document.execCommand ..SaveAs 隐藏元素问题。,

转载 作者:行者123 更新时间:2023-11-27 22:39:40 24 4
gpt4 key购买 nike

document.execCommand('另存为', false,'文件名' + ".txt");

我正在尝试通过在 javascript 中使用上述命令将页面保存在文件中。

问题:我在页面上有一些隐藏元素..CSS 样式 [display:none],所以当我尝试使用上述命令保存页面内容时,它也会写入隐藏元素内容。

关于如何摆脱隐藏元素内容的任何想法。我们是否可以传递任何其他参数来告诉我们不要保存隐藏元素的内容。

感谢任何帮助。

PS:我不想从 DOM 中删除隐藏的元素内容。这不是一个选择。

谢谢,本

有没有人有其他答案..

最佳答案

这是我想出来的

克隆文档,然后删除所有具有将其指定为隐藏或不想保存的内容的类名的节点。在我的例子中,我使用了类名“隐藏”。 removeElementsByClass 遍历克隆的文档并删除所有坏节点。现在在对象 newDoc 上运行 exec,保存这个克隆和缩减的文档。

var newDoc = document.getElementsByTagName("html")[0].cloneNode(true);
removeElementsByClass(newDoc, 'hidden');
newDoc.execCommand('SaveAs', false,'fileName' + ".txt");

function removeElementsByClass(object, class)
{
var elementArray = [];
if (object.all)
{
elementArray = object.all;
}
else
{
elementArray = object.getElementsByTagName("*");
}

var matchedArray = [];
var pattern = new RegExp("(^| )" + class + "( |$)");

for (var i = 0; i < elementArray.length; i++)
{
if (pattern.test(elementArray[i].className))
{
elementArray[i].parentNode.removeChild(elementArray[i]);
}
}
}

关于javascript - document.execCommand ..SaveAs 隐藏元素问题。,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/998127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com