2012-03-30 23 views
1

たとえば、JavaScriptがテーブル上で一連の操作を実行する場合、新しいHTMLは[表示] - > [ソース]で表示されません。 JavaScriptの操作をキャプチャして、すべてをプレーンなHTMLドキュメントとして保存する方法はありますか?JavaScriptのDOM操作を保存する方法はありますか?

答えて

2

あなたはFirebugのか、IEの開発者ツール

+0

domのインスペクターから要素をメモ帳などにコピーすることができます – TGH

+0

IEは開発ツールから組み込んだHTML文書を保存しています:-) – TGH

0

あなたはinnerHTMLとテーブルのシリアル化された現在の状態にアクセスできるようにDOMインスペクタでそれを見ることができます。

var table = document.getElementById("mytable"); 

table.innerHTML; // "<tbody><tr><td>..." 

table.parentNode.innerHTML; // gets the serialization of the whole table, including the <table> tag 
+0

最後には、まずはtable.outerHTMLを使用してくださいその親ノードも兄弟を返します。 –

1

あなたはprompt("test",document.body.innerHTML);を使用して&は、コンテンツをコピー&ペーストができます。

3

最も簡単な方法は、それが目に見えるすべてのDOM操作を持つことになりますことを除いてソースの表示と同じ出力が得られます

document.documentElement.outerHTML 

これを呼び出すことです。しかし、おそらくDOCTYPEが欠けているでしょう。私は、Webkit Consoleがdoctypeの罰金を印刷していたことに気づきましたが、DOCTYPEを入手するための公開APIはありませんので、あなた自身でそれを行う必要があります。

あなたはDOMを表示するには、ブラウザに追加することができ少しブックマーク:

javascript:(function(){win=open(%22about:blank%22,%20%22View%20DOM%20Source%22,%20%22menubar=no,resizable=yes,status=no,toolbar=no%22);win.document.write(%22<pre>%22%20+%20document.documentElement.outerHTML.split(%22&%22).join(%22&amp;%22).split(%20%22<%22).join(%22&lt;%22).split(%22>%22).join(%22&gt;%22)%20+%20%22</pre>%22);win.focus();})() 

(申し訳ありませんが、Javascriptのリンクを投稿することはできません)。

+0

'document.documentElement.outerHTML'はどうですか? OPの場合、 'body'ノードがあると仮定することができますが、理論的には理論上可能ではないかもしれません。 –

+0

@DG。良い点、私は答えを更新します。 –

関連する問題