计算webkit浏览器中的跟踪像素

时间:2010-12-07 22:47:38

标签: javascript webkit

我有一个javascript,可以创建几个div元素,并在其中为每个图像网址中的每一个创建一个img标记。我还有一个超时功能,在一段时间之后应该导致图像停止加载。在FF中,这可以通过将img标签的src属性设置为空白来实现。在webkit浏览器中,它是一个不同的故事,因为所有请求都是异步的。

到目前为止我的代码看起来与此类似:

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 = '';
    }

}

正如我所说,这在FF中运行良好,但在webkit浏览器中,它无法阻止加载图像。鉴于这将用于第三方页面上的像素跟踪系统,代码需要尽可能轻量级。有没有人知道这个问题的解决方案,或者可以帮助我找到一个?提前致谢, -CarbonX

1 个答案:

答案 0 :(得分:0)

尝试使用removeChild完全从DOM中删除它们,例如:

function blank_img(x) { 
    var imgTag = document.getElementById('_tag_' + x);
    if(imgTag) { imgTag.parentNode.removeChild(imgTag); }
} 

我假设你以后不需要这些标签......