2012-01-17 49 views
0
<!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?谢谢jquery,保存整个DOM重新加载

回答

1

从开始,针对document运行该代码,而不是替换当前文档。

+0

感谢,后续问题:是否有任何的jQuery版本'document.open'?我想'document.write'可以用'append()'代替,我想设置xml的编码,如果可能的话。 – Johan

+0

编号'document.write'与'append'没有任何关系。 – SLaks

0

你不需要保存整个dom。只需保存可更改的值(表单字段和其他可沟通的小UI位),并在必要时更新这些值。

如有必要,写一个复位功能,您可以随时拨打电话。

+0

我想我可能误解了这个问题。 – Kristian

+0

显然:)谢谢 – Johan

0

也许做这一切在一个弹出窗口?

$(函数(){VAR 弹出= window.open() VAR XML = '吧';

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

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