2016-12-29 99 views
0

我在沒有添加到實際頁面的DOM樹的DOM元素上使用jQuery,也不會將某些HTML呈現爲字符串。DOM的img節點與src沒有加載圖像

小例子,僅僅是評估:

$('<div><img src="foo.png"></div>').html() 

不幸的是,這將導致瀏覽器嘗試加載圖像。

我該如何預防?

這是在Chrome應用程序的上下文中,因此可以使用特定於Chrome的解決方案。

在我的用例中,簡單地避免DOM元素不是一個選項:在實際的代碼中,現有的模板機制使用DOM元素和jQuery來組裝輸出。同樣,我不能簡單地用data-src代替src

+0

這是哪裏的標記是從哪裏來的?你說有一個模板,但它是如何得到應用的? – Archer

+0

可能重複的[防止圖像加載](http://stackoverflow.com/questions/1667868/prevent-images-from-loading) –

+0

任何你不希望它加載圖像的原因?你永遠不想加載它,還是你想告訴它何時必須加載? –

回答

1

可以使用的DOMParser

var parser = new DOMParser(); 
var doc = parser.parseFromString('<div><img src="foo4.png"></div>', 'text/html'); 

的HTML是doc.body.innerHTML如果你需要用它做什麼

+0

或只是一個文件片段 – Kaiido

+0

@Kaiido - 你試過一個DocumentFragment嗎? –

+0

這對我不起作用,因爲誘人的代碼堅持使用jQuery來組合輸出的不同部分。 –