【问题标题】:jquery, save entire DOM for reloadingjquery,保存整个DOM以重新加载
【发布时间】:2012-02-12 12:58:16
【问题描述】:
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">

    $(function(){

        var xml = '<?xml version="1.0"?><foo><bar>bar</bar></foo>';

        document.open("text/xml", "replace");
        document.write(xml);

        document.execCommand('SaveAs',true,'file.xml');

    });

</script>

 </head>
<body>

</body>
</html>

此 html 文件生成一个 xml 文件(在 IE 中)并创建一个“另存为”对话框。但是,我想在保存文件后将文档重置为之前的状态(“替换”之前)。这可能使用纯javascript或jQuery吗?谢谢

【问题讨论】:

    标签: javascript jquery xml dom


    【解决方案1】:

    &lt;iframe&gt;document 运行该代码,而不是替换当前文档。

    【讨论】:

    • 谢谢,后续问题:document.open 是否有任何 jquery 版本?我想document.write 可以替换为append()。如果可能的话,我想设置 xml 的编码。
    • 没有。 document.writeappend无关。
    【解决方案2】:

    你不需要保存整个 dom。只需保存可以更改的值(表单字段和其他可交流的小 UI 位)并在必要时更新它们。

    如有必要,编写一个可在需要时调用的重置函数。

    【讨论】:

    • 我想我可能误解了这个问题。
    【解决方案3】:

    不,因为 document.open() 清除了文档。 你应该照 SLaks 说的去做。

    阅读https://developer.mozilla.org/en/DOM/document.open

    【讨论】:

      【解决方案4】:

      也许在弹出窗口中完成所有操作?

      $(函数(){ var popup = window.open() var xml = '酒吧';

          popup.document.open("text/xml", "replace");
          popup.document.write(xml);
      
          popup.document.execCommand('SaveAs',true,'file.xml');
          popup.close();
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-11-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多