HTML5版微博不支持发带定位微博,因2025年起已下线地理位置授权及添加位置功能;仅官方iOS/Android客户端在开启位置权限后可通过“?”按钮实现。
微博 HTML5 版本不支持直接发带定位的微博——这不是操作没对,而是功能本身被移除了。
微博官方早在 2025 年起就逐步下线了 H5 页面的 地理位置授权 和 发博时添加位置 功能。目前所有通过浏览器访问 weibo.com 的页面(包括手机 Safari、Chrome、微信内置浏览器等),发微博 输入框下方均无「? 添加位置」按钮,且调用 navigator.geolocation 会返回拒绝或空响应。
?location=xxx 或尝试注入 geolocation 参数,后端也会忽略该字段https://weibo.com → 点「写微博」→ 查看 DOM,找不到 class="W_btn_b" 或 data-action="add-location" 类似节点只有微博官方 iOS / Android 客户端才能稳定获取并提交位置信息。关键前提是用户主动开启对应权限:
微博未开放 H5 端的定位发博 API。试图用 JS 调用 Geolocation.getCurrentPosition() 后拼参数 POST 到 /aj/mblog/add 是无效的——服务端校验会丢弃 lat/lon 字段,且多数请求会因缺少 crossdomain 或 gsid 而直接 403。
SSOLoginState + gsid)、设备指纹、Referer 白名单,H5 页面无法构造location 参数(如 "location":"39.904,116.407")是 App 端上传的,服务端不接受 H5 源头发起的同类请求WBShareButton(仅限接入微博开放平台的 App)微信内置浏览器本质仍是 H5 环境,同样受前
述限制。即使点开的是 https://weibo.com/xxx 的发博页,也看不到定位按钮。用户常误以为是「没点对地方」,实际是微信 WebView 层面已被微博服务端识别并屏蔽了地理功能入口。
#location 或按住输入框长按,不会弹出位置菜单真正能发定位微博的地方,只在微博 App 里;而「HTML5 版本」四个字,从技术实现上就决定了它没有这个能力。别折腾浏览器控制台或修改 URL 参数了——后端根本不接这个信号。