0

これは私が試したことです:

function createDocumentz() {
    var doc = document.implementation.createHTMLDocument('http://www.moviemeter.nl/film/270',null,'html');
    return doc;
}

ドキュメントが作成されても、Firebugでこれを実行すると、本体ノードに子ノードがないと表示されます。理由は何ですか。

4

2 に答える 2

0

いいえ、この方法では別のWebサイトからコンテンツを取得することはできません。

もしそうなら、それはクロスサイトスクリプティングにつながるでしょう。

ブラウザのポリシーにより、取得するのは空のドキュメントだけです。もちろん、本文は空です。

Iframeを使用して、ソースを同じに設定できます...

于 2013-03-18T11:06:11.460 に答える
0

createHTMLDocument()最初のパラメータとして渡したURLからHTMLファイルをダウンロードして解析するために使用できると想定しているようです。そうではなく、createHTMLDocument()常に空のドキュメントを作成します。

また、関数に渡したパラメーターは。のパラメーターですcreateDocument()createHTMLDocument()ドキュメントタイトルという1つのパラメータのみを取ります。ただし、を使用する場合でも、最初のパラメータは名前空間createDocument()のURIであり、ソースドキュメントではありません。

残念ながら、JavaScriptだけを使用して外部WebサイトのHTMLをダウンロードして操作する方法はありません。最も近いのは、ドキュメントをiframeに表示することです。

于 2013-03-18T11:08:18.047 に答える