如何保护网页免受慢速广告跟踪网络信标的影响?

时间:2008-12-05 15:07:57

标签: javascript

我在一个大型网站工作。我们的营销部门要求我们为网页添加更多网络广告跟踪像素。我跟踪广告系列的效果没有问题,但服务这些像素的服务器可能不可靠。我相信大多数人都看过拒绝完成加载的网页,因为yieldmanager.com的像素无法完成下载。

如果像素从未完成下载,onLoad永远不会触发,在我们的情况下,如果没有这个,页面将无法运行。

我们还有戈麦斯的额外问题。正如您可能知道的那样,他们在世界各地都有测量现场速度的机器人,尽管他们的方法存在缺陷,但我们的测量结果仍然很重要。他们的机器人执行onLoad处理程序。因此,即使我使用运行onLoad的脚本在其他所有内容完成后将像素添加到页面中,如果像素需要80秒加载,我们仍然可以得到糟糕的Gomez分数。

我的解决方案是通过onMouseMove处理程序将像素添加到页面中,因此只有人类会触发它们。你们有什么更好的想法吗?

2 个答案:

答案 0 :(得分:6)

jQuery和其他JavaScript框架可以通过使用诸如“文档就绪”功能之类的方法来帮助解决问题,该功能在文档准备就绪时触发,而不需要等待所有图像。

我将直接引用jQuery教程:

  

大多数Javascript程序员最终做的第一件事就是在程序中添加一些代码,类似于:    window.onload = function(){alert(“welcome”); }   其中包含您希望在加载页面时运行的代码。但问题是,在完成所有图像下载(包括横幅广告)之前,Javascript代码不会运行。首先使用window.onload的原因是由于当您第一次尝试运行代码时HTML'文档'尚未完成加载。   为了避免这两个问题,jQuery有一个简单的语句来检查文档并等待它准备好被操作,称为就绪事件:

 $(document).ready(function(){
   // Your code here
 });

您可以使用此事件加载有问题的图像。

有关详细信息,请参阅此链接。

http://docs.jquery.com/Tutorials:How_jQuery_Works

答案 1 :(得分:1)

我也在一个大型网站工作,这就是我们所做的:

  1. 将广告调用移至底部 页面,所以内容会显示 首先(因为JS是 同步)。

  2. 使用Ajax Calls加载广告(到 允许页面可用 广告正在加载)隐藏 元件。

  3. 位置移至正确位置 放在DOM中并“取消隐藏。”

    • 根据页面,我们要么 等待广告完成加载 在移动位置之前,或者我们移动 这个立场。