質問の短縮版
動的(ajax/javascript) Webページのすべてのスタイルが適用/インライン化されたランタイムhtml(domの現在の状態)をキャプチャする方法はありますか?
ロングバージョン
私がやりたいことは、dom の現在の状態を単一の html ページとして保存し、すべてのスタイルを<style>
タグでラップするか、スタイルをインライン化することです。
同様に、必要なのはコアダンプ ファイル (アプリケーションの現在の状態を示す) に似たものですが、この場合は、表示/デバッグするためにブラウザにロードできる (html) ファイルです。
ページに JavaScript がない場合、このタスクは非常に簡単です。
File->Save Page As -> html complete
Webブラウザから行う- またはhttp://www.httrack.comや curlなどのツールを使用して、ページとすべてのリンクされた画像をダウンロードします
以下に、プログラムで同じことを行うために何ができるかを高レベルでリストします (ただし、完全な解決策ではありません)。
- html コンテンツを取得する
- onclickのように、すべてのタグとonXXX属性をそれぞれから削除します
- *.css コンテンツを取得
- css スタイルを内部に埋め込む
<style>
- すべての画像パスを相対パスに変更
- すべての画像を保存
ただし、javascript を使用してページを作成する場合、またはページの状態がロード/クリック時に変更され、一部の要素が非表示になり、ページのレイアウトが変更される場合、上記の方法は使用できませんでした。
では、(動的な JavaScript が有効になっている) Web ページの現在の状態を保存するにはどうすればよいでしょうか?
そのような方法 / ツール / プラグインが存在する場合、インターネットまたは Web アプリケーションにアクセスできない人とページを電子メールで共有したり共有したりすると便利です。