最常用方式是直接插入广告联盟提供的原样JavaScript代码块,需确保script标签位置正确、ins标签属性完整、避免隐藏容器,并针对框架、iframe、响应式及Postback等场景按规则处理。

直接插入广告联盟提供的 <script></script> 代码块最常用
绝大多数广告联盟(如 Google AdSense、百度网盟、腾讯广点通)默认交付的是 JavaScript 片段,不是 。这类代码本质是动态创建 或 容器,再由联盟 JS 异步加载广告内容,因此必须原样插入 HTML,不能包裹在其他标签里或删减属性。
常见错误现象:广告位空白、控制台报 adsbygoogle is not defined、页面加载卡顿。
- 确保
<script async src="...adsbygoogle.js"></script> 在页面 或紧贴 开头处,且只加载一次
-
标签必须保留全部 data-ad-* 属性(如 data-ad-client、data-ad-slot),缺一不可
- 不要把整个广告代码块包进
——多数联盟会检测可见性,隐藏即不触发请求
- 若用 Vue/React 等框架,别直接用
v-html 或 dangerouslySetInnerHTML 注入广告脚本,它们无法执行其中的 push() 调用;应使用自定义指令或 useEffect + 动态 script 插入
iframe 嵌广告只适用于特定联盟输出格式
部分中小广告平台或自建广告系统会提供纯 形式的嵌入代码(例如 )。这种写法简单,但限制明确:
- 目标 URL 必须支持跨域嵌入,否则 iframe 显示为空白,network tab 中响应状态为 200 但无内容渲染——这是服务端返回了
X-Frame-Options: DENY 或 Content-Security-Policy: frame-ancestors 'none',前端无法绕过
- 必须显式设置
style="width:100%; height:90px; border:none;",避免用 width/height HTML 属性,后者在 flex/grid 容器中易失效
- 加
sandbox="allow-scripts" 是底线,禁用 allow-same-origin(除非你完全信任该广告源)
- 移动端 Safari 对
scrolling 属性已完全忽略,别依赖它控制滚动条
广告位尺寸与响应式适配不能只靠 CSS
广告联盟对广告尺寸有硬性校验。比如 AdSense 要求 data-ad-format="auto" 时,父容器宽度必须可计算(不能是 display: none 或 visibility: hidden 状态),否则直接不加载。
- 避免用
max-width: 100% + height: auto 拉伸广告图——联盟返回的素材有固定宽高比,强行拉伸会导致变形或裁剪
- 响应式推荐方案:用媒体查询切换不同
data-ad-slot,例如桌面用 1234567890(728×90),平板用 0987654321(468×60),手机用 1122334455(320×50)
- 如果广告位在 tab 切换后才显示,需手动调用
(adsbygoogle = window.adsbygoogle || []).push({}) 触发重载,否则不会自动出现
Postback 转化回传别用 fetch 或 XMLHttpRequest
保险、电商等高转化场景常需在用户完成动作(如提交表单、跳转成功页)后,向广告联盟发送 Postback URL 归因。此时最稳妥的方式是用 ![]()
打点:
- 不要用
fetch(url, { method: 'GET' }) —— 若用户禁用第三方 Cookie 或启用了防追踪策略,fetch 可能被拦截或静默失败
- 正确做法:
const img = new Image(); img.src = "https://track.adnetwork.com/conv?click_id=abc123&value=299";,浏览器会自动发起 GET 请求且不阻塞渲染
- URL 中的参数(如
click_id)必须从当前页面 URL 解析获得,不能硬编码;注意对特殊字符做 encodeURIComponent() 编码
- 别在
img.onerror 里重试——Postback 本就是“发出去就算”,无响应是常态,重试反而可能造成重复归因
实际嵌广告最麻烦的从来不是代码怎么贴,而是广告源是否允许被嵌、尺寸是否被校验、以及转化回传是否被隐私策略截断。这些环节没有统一 API,每个联盟都按自己规则来,得一个一个对着文档查响应头、看 network 请求、验 pixel 是否发出。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!