2012-01-17 10 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ファイルは(IEで)XMLファイルを生成し、「名前を付けて保存」ダイアログを作成します。しかし、私はファイルを保存した後、その文書を以前の状態(「置​​換」の前)にリセットしたいと思います。これは、純粋なjavascriptまたはjQueryを使用して可能ですか?ありがとうjquery、リロードのためにDOM全体を保存

答えて

1

現在のドキュメントを置き換えるのではなく、documentのコードをから実行してください。

+0

おかげで、質問をフォロー:document.open' 'のいずれかのjQueryのバージョンはありますか? 'document.write'は' append() 'で置き換えることができると思います。xmlのエンコーディングを設定したいと思っています。 – Johan

+0

' document.write'は 'append'とは関係ありません。 – SLaks

0

dom全体を保存する必要はありません。変更可能なもの(フォームフィールドやコミュニケーション可能な他の小さなUIビット)の値を保存し、必要に応じてこれらの値を更新してください。

必要に応じていつでも呼び出すことができるリセット機能を作成します。

+0

私は質問を誤解しているかもしれないと思う。 – Kristian

+0

明らかに:)ありがとうとにかく – Johan

0

document.open()がドキュメントをクリアするため、単純にnoです。 SLaksの言うことをすべきです。

はたぶん、ポップアップウィンドウでそれをすべて行うhttps://developer.mozilla.org/en/DOM/document.open

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(); 
}); 
関連する問題