我们可以阻止对innerHTML的分配请求资源吗?

时间:2012-04-26 18:08:43

标签: javascript dom

以下代码会导致Firefox和Chrome中的图像资源的HTTP请求。

var el = document.createElement('div');
el.innerHTML = "<img src='junk'/>";

作为一名程序员,我可能希望或不希望el被渲染。如果我不这样做,那么我可能不希望为src发送请求。

dojo.toDom()显示相同的行为。

无论如何从字符串中获取文档片段,而没有请求引用的资源?

2 个答案:

答案 0 :(得分:2)

使用DOMParser从给定字符串创建完整的文档结构。

或者,使用beforeload事件拦截请求。

答案 1 :(得分:-2)

使用字符串创建DOM元素而不是创建documentFragments并使用它们的内存要轻得多:

var div = document.createElement('div');
div.innerHTML = 'some text';
document.getElementById('someparent').appendChild('div');

可替换为:

var div = '<div>some text</div>';
document.getElementById('someparent').innerHTML += div;