如果没有Google Ads,我的HTTPS网页加载时间约为500ms。使用谷歌广告,同样的网页需要2-5秒才能加载。我有两个横幅广告(一个在顶部,一个在底部)。是的,它在广告之前呈现整个页面,但我仍然认为在等待广告结束时让浏览器旋转是很笨拙的。
Javascript有没有办法在广告之前完成页面加载,然后在后台加载广告?基本上,欺骗它让它认为整个页面已经加载了?
当前代码:
(adsbygoogle = window.adsbygoogle || []).push({});
查看我的站点的瀑布,它看起来不像是adsbygoogle.js导致的负载指示器。相反,它是实际的广告内容本身。例如,这个对象(横幅广告)直到1.8秒才开始加载(在我的整个页面加载之后很长一段时间):tpc.googlesyndication.com/simgad/AdID
谢谢!
发布于 2014-09-17 04:56:03
尝试
本文
..。
诀窍是将广告初始化和加载逻辑放在window的
事件:
window.onload = function(){
...
};
发布于 2016-04-20 03:25:48
这是我的终极Vanilla JS解决方案:
(adsbygoogle = window.adsbygoogle || []).onload = function () {
[].forEach.call(document.getElementsByClassName('adsbygoogle'), function () {
adsbygoogle.push({})
})
}
发布于 2019-01-28 10:13:42
一个Vanilla解决方案是保留所有广告代码不变,除了删除script标记,然后添加到javascript中
function loadGoogleAds() {
var scriptTag = document.createElement('script');
scriptTag.setAttribute('src', '//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js');
scriptTag.setAttribute('type', 'text/javascript');
scriptTag.setAttribute('async', 'async');
document.body.appendChild(scriptTag);
}
window.addEventListener("load", loadGoogleAds);
免责声明:与这个问题的其他答案一样,它是
假设
谷歌并不反对提高页面性能的方法
https://stackoverflow.com/questions/25877461
复制相似问题