0

我有一组由广告编写的广告,document.write因为这是广告服务器唯一会做的事情。

如果用户坐在那里一段时间,我已经看到其他网站在页面上重新加载广告(我将来可能想做的事情)。所以我正在玩在 iFrame 中加载广告,然后将它们移到主窗口中。这似乎工作得很好,直到它提供了一个谷歌广告,该广告本身位于 iframe 内的 iframe 中。是否可以将它们正确拉出/在页面周围移动谷歌广告?

这就是我目前所拥有的,它适用于 iframe 中除 iframe 广告之外的所有内容。

$().ready(function(){
    $('#iframe').load(function(){
        var middle_ad_contents = $('#iframe').contents().find('#middle_ad').html();
        $('#ad_middle').html(middle_ad_contents);
    });
});

[编辑]

经过进一步调查......看起来重新加载谷歌广告可能违反服务条款,也许我不应该这样做?

[编辑 2]

重新加载整个页面并不是一个真正的选择(和一种鸡巴动作)。

重点可能是轮换广告,但更多的是阻止它们阻止页面加载,因为通过 adserver Y 提供的 adserver X 是通过 adserver Z 提供的,它很慢/没有响应。iframe 似乎是最好的解决方案,因为这样我可以将 2 或 3 层深的 document.writes 延迟到页面末尾,而不会像document.write在 pageload === 之后那样清除整个页面document.replaceTheWholeDOM。也可以选择使用此方法将 ajaxy/其他 iframed (颤抖) 内容货币化。

4

2 回答 2

1

解决这个问题的最好方法可能是使用document.write替代品。有几个可供选择,但这里有一个:https ://github.com/eligrey/async-document-write

这会将全局 document.write 函数替换为即使在页面加载后也可以使用的函数。

于 2011-06-17T16:31:33.020 回答
0

它不仅可能违反服务条款,而且还降低了广告对广告商的价值,并在 UI 中创建了一个笨重的元素。

从 UI 的角度考虑……你在网站上,专注于某件事,然后一切都在闪烁。你的注意力从你所专注的事情转移到弄清楚刚刚发生的事情。没关系,只是一个横幅翻转。接下来......现在,我在哪里?

对于广告商来说,如果您注意到该广告并准备点击它并 BOOM,它会发生什么变化。现在怎么样,你能回去吗?如果没有,你只是失去了收入。用户在许多页面上花费了几秒钟,所以除非你有一个令人难以置信的“粘性”网站,否则广告商真正会获得多少曝光率?请记住,Google 会根据点击量奖励 AdWord 网站,而不是根据显示的数量,这实际上会损害您的点击率。

如果您决心实现这一点,我想我会考虑通过让广告服务器直接发布到 dom 中来攻击它,然后使用基于 JavaScript 的计时器异步 ping 广告服务器并再次告诉它重绘所需的 div。我会避免像瘟疫一样的 iFrame,因为它们在这个简单的 Dom 操作时代并不友好。

或者,您可以采用 MSNBC 方法,每 X 分钟重新加载整个页面。这是一个可怕的 UI 模式,但它会实现您的目标并且可能会弯曲(但不会破坏)TOS。

于 2011-06-17T15:59:54.263 回答