2010-12-07 12 views
0

ウェブページのすべてのHTMLコンテンツを変数に保存する方法を探しています。 Webページにフレームが含まれている場合でも、これは機能するはずです。現在の最適なソリューションです:Javascriptを使用してすべてのHTMLコンテンツを表示するには?

javascript: alert(document.body.outerHTML); 

だけでURLが置かれ、その結果を確認するために入力押しされ、ブラウザでのコントロールにコードを貼り付けます。どのようにこれを行うにはどのようなアイデア?

答えて

1

すべてのフレームを繰り返して、コンテンツにajax-loadする必要があります。ソースを取得するための

document.getElementsByTagName('frame')[0].src 

よう

代。しかし、あなたを助けるライブラリを使うことを強くお勧めします。 jqueryでは非常に簡単な作業ができます。 $ .ajaxがすべての外部ソースを要求し構築する(相対セクションを置き換える)

しかし、smeg4brainsが指摘しているように、innerHTMLはあなたのやり方である可能性があります。ここで

+0

私は信じていますが、私は信じていますが、innerHTMLにはフレーム内に何個のフレームがあるかなど、ページについて何も知らなくてもこれを行う方法はわかりません。 – David

+1

しかし、なぜこれをjsで行う必要がありますか?とにかく、あなたはjsライブラリをロードしてから、$( 'frame')で各フレームを循環させます。each(function(i、e){src = e.attr( 'src')//そして、フレーム}) –

+0

優れています。それが私が必要な理由です。私の問題はJavaScriptがひどいことです。したがって、私はStackoverflowのコードを壊して、これを行うための完全なJavaScriptコードを作成するためにあなたに支払うことができるかどうか尋ねますか?つまり、最終的には、画面に表示されるすべてのHTMLコンテンツを含む単一のjavascript変数が存在します。 – David

0

は、「これを行う方法」への直接の答えです:アドレスバーにこれを持っ alt text

は、Enterキーを押すだけです、あなたは警告ダイアログに内容が表示されます。

フレームの内容を表示するには、フレームを別々に反復する必要がありますが、HTMLの一部にはなりません。

+0

私は同じことを説明したと思った。しかし、素敵なスクリーンショットをありがとう、他の人がそれを理解することができます。 – David

+0

@David - あなたの質問は何ですか? –

0

これは機能しますか?

var copyOfHtml = document.documentElement.outerHTML 
alert(copyOfHtml) 
+0

これは基本的に私の例と同じですが、変数を使用しています。 – David

関連する問題