1

DOM 操作に関連するクエリがあります。ドキュメントノード全体を複製してから、複製されたコピーに対して操作を実行することにより、Web ページの DOM ノードに対していくつかの操作を実行しています。

私が DOM で実行している特定の操作の 1 つは、「img」タグの「src」属性を変更することです。これを行うと、ブラウザーのそのページのコンソールに 404 エラー (404 (Not Found)) が表示されます。設定しているパスは存在しませんが、複製されたコピーで操作を実行しているため、エラーは表示されないと想定しました。ここで何か間違ったことをしていますか?このエラーが表示されないようにする方法はありますか?

コード スニペットを以下に示します。

//code snippet

var doc = document.documentElement.cloneNode(true);
var allNodes = doc.getElementsByTagName('*');

//for loop to interate through the node

//When an img node is found
node.src = "some_image.png";
4

1 に答える 1

0

コメントから...

ロードしない理由がわかりません。var img = new Image(); であるためです。img.src = "aa.png" は、画像が DOM に追加されていなくても、画像を読み込みます。(このアプローチは、HTML5 Canvas の使用法でよく使用されます)

src が定義された後に画像がパスに追加されても、ブラウザーはファイルに対して 1 つの要求しか送信しないため、画像は見つかりません。

于 2013-01-08T09:31:21.387 に答える