Javascript 在webkit浏览器中跟踪像素超时
我有一个javascript,它创建了几个div元素,并在其中为每个图像URL创建了一个img标记。我还有一个超时函数,在一段时间后应该会导致图像停止加载。在FF中,这可以通过将img标记的src属性设置为空来实现。在webkit浏览器中,情况就不同了,因为所有请求都是异步发出的 到目前为止,我的代码与此类似:Javascript 在webkit浏览器中跟踪像素超时,javascript,webkit,Javascript,Webkit,我有一个javascript,它创建了几个div元素,并在其中为每个图像URL创建了一个img标记。我还有一个超时函数,在一段时间后应该会导致图像停止加载。在FF中,这可以通过将img标记的src属性设置为空来实现。在webkit浏览器中,情况就不同了,因为所有请求都是异步发出的 到目前为止,我的代码与此类似: function tag(url_array, timeout) { var _tag_div = document.getElementById('tag_div');
function tag(url_array, timeout)
{
var _tag_div = document.getElementById('tag_div');
for(var i in url_array)
{
var e = document.createElement('div');
e.setAttribute('id', '_tag_' + i);
e.innerHTML = '<img src="' + urls[i] + '"/>';
_tag_div.appendChild(e);
setTimeout(blank_img.bind(window, i), timeout);
}
function blank_img(x)
{
document.getElementById('_tag_' + x).firstChild.src = '';
}
}
函数标记(url\u数组,超时)
{
var_tag_div=document.getElementById('tag_div');
for(url_数组中的变量i)
{
var e=document.createElement('div');
e、 setAttribute('id','u标记'+i);
e、 innerHTML='';
_标签分区附件(e);
setTimeout(空白\u img.bind(窗口,i),超时);
}
函数blank_img(x)
{
document.getElementById(''u标记'+x).firstChild.src='';
}
}
正如我所说,这在FF中运行良好,但在webkit浏览器中,它无法阻止图像的加载。鉴于这将用于第三方页面上的像素跟踪系统,代码需要尽可能轻量级。有人知道这个问题的解决方案吗,或者可以帮助我找到一个?提前感谢,,
-CarbonX尝试使用
removeChild
将其从DOM中完全删除,例如:
function blank_img(x) {
var imgTag = document.getElementById('_tag_' + x);
if(imgTag) { imgTag.parentNode.removeChild(imgTag); }
}
我假设你以后不需要这些标签…你不能让服务器跟踪实际的网页请求而不是讨厌的像素吗?哈哈,我希望。。。可悲的是,这些不是我们的组织,它们是在我们的系统上运行的。不幸的是,这种方法也不能阻止请求。谢谢你的努力。