资讯 / 文章页
网页转发到微信里,标题和缩略图能自己定吗?先读清 JS-SDK 分享接口的四个前提
微信外链
2026-11-13

把自己的网页链接发进微信聊天,对方看到的是一张带标题、描述和小图的卡片。很多人希望这张卡片显示活动名和品牌图,却发现出来的是网页标题,或者干脆没有想要的缩略图。能不能自己定,取决于网页有没有按微信 JS-SDK 的规则接入分享接口。下面按2026年11月13日(北京时间)核读的微信开放文档「JS-SDK」页(页标最后一次编辑于2026-07-04),把这件事拆成几个前提来看。https://cdn2.quma.cn/uploads/2/2026/11/13/FtZsLx0pN07U28IPPzYF-U1UnbQZ.jpg


能改卡片内容的,是网页里的分享接口

JS-SDK 文档把这件事放在「分享接口」一节。现行推荐的是两个接口:updateAppMessageShareData,用来自定义「分享给朋友」及「分享到QQ」按钮的分享内容,可设置分享标题、分享描述、分享链接和分享图标;updateTimelineShareData,用来自定义「分享到朋友圈」及「分享到QQ空间」按钮的分享内容,字段是标题、链接和图标,没有描述一项。

文档同时提醒,原有的 onMenuShareTimeline、onMenuShareAppMessage、onMenuShareQQ、onMenuShareQZone 接口「即将废弃」,请尽快迁移到客户端6.7.2及JSSDK 1.4.0以上版本支持的上述两个新接口。如果手上的网页还在用旧接口,卡片显示不稳定时,先确认用的是哪一套。

换句话说,卡片上的标题和小图并不是在链接本身里「写好」的,也不是把链接粘进聊天框就能指定。它们由打开这个网页时运行的分享接口提供。网页没有接入这套接口,或者接口没有成功生效,卡片显示的就不是你预设的内容。

前提一:域名先进 JS 接口安全域名

文档写的第一步是绑定域名:在公众号设置的功能设置里填写「JS接口安全域名」,或到微信开发者平台对应账号的基本信息、开发信息中修改。这里有几条硬性说明:绑定父级域名后,其合法子域名可用;至多可填写5个合法域名;不支持IP地址、端口号及短链域名;域名需通过ICP备案验证,新备案域名需24小时后才可配置。

分享接口里的 link 字段还有一句注释:分享链接的域名或路径,必须与当前页面对应的公众号JS安全域名一致。也就是说,卡片要指向的地址,不能随便换成另一个域名。

这两条放在一起读,对使用短链接的人有一个直接提醒:短链域名不能填进 JS 接口安全域名,而分享 link 又要求与安全域名一致。因此,不要指望把一条短链接直接填进 link,就能做出带自定义标题和小图的分享卡片。短链接适合放在需要缩短地址、统一入口的场景;在微信内自定义分享卡片,看的是承载页面所在的域名有没有按上述要求配置。

前提二:签名通过,并且在用户点分享之前调用

所有需要使用 JS-SDK 的页面,都要先通过 config 接口注入权限验证配置,包括公众号的 appId、时间戳、随机串、签名,以及需要使用的 JS 接口列表。config 是客户端的异步操作,文档要求在页面加载时就需要调用的接口放进 ready 回调里执行;两个分享接口的示例注释也写明「需在用户可能点击分享按钮前就先调用」。

签名最容易出问题。文档附录列出的常见错误里,invalid signature 排在第二条,排查顺序包括:确认签名用的 url 是页面完整的 url,包含 http(s):// 部分和问号后面的参数部分,但不包括 # 及其后面的部分;确认用来签名的 url 是动态获取的,因为页面一旦被分享,微信客户端会在链接末尾加入其他参数,如果写死一个固定地址,分享后再打开的页面就会签名失败。

还有一种情况值得单独记下:通过 a 链接(例如先经过微信授权登录)跳转到 b 链接时出现签名失败。文档的说明是,后台签名用的应该是跳转后真正使用 JS-SDK 的那个页面的完整 url(去掉 # 部分),不要用授权登录的链接去计算签名。中间经过跳转的页面,签名对象要以最终落地页为准。

前提三:账号要有分享相关接口权限

常见错误第7条写的是「在iOS和Android都无法分享」,文档给出的检查方向是:确认公众号已经认证,只有认证的公众号才具有分享相关接口权限;如果确实已经认证,再检查监听接口是否在 ready 回调中触发。

另一个相关提示在第4条:permission denied 表示该公众号没有权限使用这个 JSAPI,或调用的 JSAPI 没有写进 config 的接口列表,部分接口需要认证之后才能使用。所以排查顺序可以是:先看账号身份和权限,再看 config 里的接口列表,最后看调用时机。

这几项都属于网页开发和账号配置层面。本文只按文档说明对象之间的关系,没有登录公众平台逐项实测,也没有覆盖每一种客户端版本的表现,实际以账号当时的权限和真机结果为准。

前提四:卡片内容不能诱导分享

分享接口一节的开头有一段醒目的提醒:不要有诱导分享等违规行为,对于诱导分享行为将永久回收公众号接口权限,详细规则见朋友圈管理常见问题。

这意味着「能自定义标题和图」不等于「标题和图可以随意写」。例如用转发换取奖励、以分享作为继续阅读或领取的条件等做法,风险不在技术实现,而在规则层面,一旦被认定,失去的是整个公众号的接口权限,而不只是这一张卡片。自定义卡片时,标题和描述如实概括页面内容,图标与页面主题一致,是更稳妥的写法。

卡片不对时,可以按这个顺序核对

- 网页用的是 updateAppMessageShareData、updateTimelineShareData,还是即将废弃的旧接口

- 网页所在域名是否已填入 JS 接口安全域名,是否为备案域名,是否误用了IP、端口或短链域名

- link 字段的域名或路径,是否与当前页面对应的 JS 安全域名一致

- 签名所用的 url 是否为当前页面完整地址、去掉 # 部分、动态获取,经过跳转时是否以落地页签名

- 分享接口是否在 ready 回调中、在用户可能点击分享之前完成调用

- 公众号是否已认证,config 的接口列表里是否包含这两个分享接口

- 标题、描述和图标有没有诱导分享的表述

分享卡片能不能显示预设内容,是网页、域名和账号三件事同时满足的结果。链接本身可以很短,但卡片的标题和小图由打开后的页面决定。先把这几个前提分开核对,比反复更换链接更容易找到原因。

参考资料

[1] 微信开放文档:JS-SDK(公众号指南·微信网页开发) https://developers.weixin.qq.com/doc/subscription/guide/h5/jssdk.html,页标最后一次编辑于2026-07-04,访问日期2026-11-13(北京时间)。引用范围:绑定JS接口安全域名的说明(父级域名、至多5个、不支持IP地址/端口号/短链域名、ICP备案、新备案域名24小时后可配置);config 与 ready 的调用要求;分享接口一节(诱导分享将永久回收接口权限、旧接口即将废弃、updateAppMessageShareData 与 updateTimelineShareData 的字段及 link 须与JS安全域名一致);附录常见错误第2、4、7、11条。

购买咨询
微信扫码咨询
400-600-7511