javascript - 在使用 jQuery 加载页面后加载广告

标签 javascript jquery jquery-plugins adsense

我为 jQuery 编写了一个插件,它将广告 JavaScript 的输出复制到容器 Div 中。

所以我将广告 JS 放在页面底部(这样它们就不会降低我的页面加载速度),位于不建议的 Div 中,如下所示:

<div id="ad_loader_4" class="ads_loader"></div>

这些div的id指向容器div。 容器 div 看起来像:

<div id="ad_4"></div>

jQuery 插件等待页面结束加载,然后抓取在不可见 div 中创建的所有元素并将它们附加到容器 div 中。

jQuery 插件如下所示:

(function($) {  
// jQuery plugin definition  
$.fn.adsLoader = function(params) {  
    // merge default and user parameters  
    params = $.extend( {}, params);  
    // traverse all nodes  
    this.each(function() {  
        // express a single node as a jQuery object  
        var $t = $(this);  
        // find id  
        var id = $t.attr('id');
        id = id.substring(10,id.length);
        $t.children().not('script').appendTo("#ad_"+id);
    });  
    // allow jQuery chaining  
    return this;  
};  
})(jQuery);

该插件在 FF 和 Chrome 以及 IE8 中运行良好...在 Adsense 和其他一些广告程序中...但问题开始于 IE7...出于某种原因,有时广告会加载到容器中,有时会加载到容器中他们不...

我的插件出了什么问题?

最佳答案

我简化了一点。

(function($) {
// jQuery plugin definition
$.fn.adsLoader = function() {
    // traverse all nodes
    this.each(function() {
        // get ad id and replace
        var id = this.id.substr(10);
        $("#ad_"+id).replaceWith(this);
    });
    // allow jQuery chaining
    return this;
};
})(jQuery);

注意:如果您隐藏底部 div,则可能需要在用它们替换空 div 后显示它们。

关于javascript - 在使用 jQuery 加载页面后加载广告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3134512/

相关文章:

javascript - Jquery 没有正确循环功能

php - 如何使用 AJAX 和 JSON 从一个页面抓取 PHP 变量到另一个页面?

jquery 插件多实例不起作用

javascript - 单击按钮时 Div 增量

javascript - CKEditor 文件上传在 Yii2 中不起作用

javascript - 未捕获的类型错误 : Converting circular structure to JSON (only on Chrome)

c# - 如何在 JavaScript 中调用 Web.api 序列化数组

javascript - 有没有可以显示Windows 8 动态磁贴效果的jQuery 插件?

javascript - 使用实时数据在谷歌地图上移动标记

javascript - 当我尝试在组件中使用 antd 的表单时,无法读取未定义的属性 'getFieldDecorator'