如何仅在最小800px屏幕的桌面端加载Monetag广告脚本?
仅在桌面端(≥800px)加载Monetag广告脚本的解决方案
当然有办法实现,给你两种实用方案:
方案一:页面初始化时直接判断
这种方法简单直接,页面加载时检查当前屏幕宽度,只有满足≥800px的条件才加载广告脚本:
if (window.innerWidth >= 800) { (function(d,z,s){s.src='https://'+d+'/400/'+z;try{(document.body||document.documentElement).appendChild(s)}catch(e){}})('mutcheng.net',5555555,document.createElement('script')); }
注意:如果用户一开始用小窗口打开页面,之后手动把窗口拉到800px以上,广告不会自动加载。
方案二:监听窗口大小变化,动态加载(推荐)
这种方法会处理窗口大小变化的场景,同时避免重复加载广告:
// 标记广告是否已加载,防止重复执行脚本 let adLoaded = false; // 封装加载广告的函数 function loadMonetagAd() { if (!adLoaded && window.innerWidth >= 800) { (function(d,z,s){s.src='https://'+d+'/400/'+z;try{(document.body||document.documentElement).appendChild(s)}catch(e){}})('mutcheng.net',5555555,document.createElement('script')); adLoaded = true; } } // 页面加载完成后先检查一次 loadMonetagAd(); // 监听窗口大小变化,动态触发检查 window.addEventListener('resize', loadMonetagAd);
这个方案会在页面加载时先判断一次,之后用户调整窗口大小到800px以上时,也会自动加载广告;广告加载后会标记状态,不会重复执行脚本。
内容的提问来源于stack exchange,提问作者John Grischam
相关产品推荐
相关产品推荐

