做微信内置网页,有个疑问求高手解答

2017-04-13 11:14:43 +08:00
 mewpoi

在微信内浏览可以用 navigator.userAgent.toLowerCase()来判断是否是微信内浏览器,但进阶的判断是否在微信公众号服务号如何判断,我看了微信接口也没发现有相关的判断,求高手解惑

3062 次点击
所在节点    程序员
21 条回复
BOYPT
2017-04-13 11:18:25 +08:00
走一次网页授权,能过的必定在微信内了。
BOYPT
2017-04-13 11:19:26 +08:00
如果只是判断在微信,引入 js sdk 也可以的呀。
mewpoi
2017-04-13 11:25:20 +08:00
@BOYPT 判断微信内肯定可以 但判断是否在公众号服务号就不行了 我想知道他是在公众号服务号中打开网页 也就是说微信内包含了公众号服务号 也包括了微信分享出去连接打开网页 要区分开
BOYPT
2017-04-13 11:48:30 +08:00
你是指通过服务号菜单点开的吧,微信没有这样的验证;只能说你自己给菜单加个验证参数,后台处理掉,如果分享出去的就没有这个参数这样咯。
chairuosen
2017-04-13 11:49:33 +08:00
两种思路, 1 ,我记得可以拿到用户是否关注了你的公众号。 2 ,公众号链接带尾巴,页面 js replaceState 把尾巴去掉,这样分享的不带尾巴
iot
2017-04-13 12:17:41 +08:00
可以的, 用户点击了之后就可以获取用户的基本信息了,包括是否关注了公众号。
mewpoi
2017-04-13 12:21:32 +08:00
@chairuosen 想过这么做,带尾巴点进去第一跳可以记录是微信公众号,第二跳就不行了,尾巴会消失,但如果根据尾巴记录 cookie 也不行, cookie 会一直跟着用户本地,这样也无法再判断是非公众号打开网页了,带不带尾巴,记不记 cookie 都不行,除非微信内部接口可以直接判断
wkan
2017-04-13 13:07:17 +08:00
为什么会有这种需求呢,直接说说这个需求的目的吧
pubby
2017-04-13 13:11:42 +08:00
网页显示在微信内置浏览器中,没有"是否"在公众号内的概念。

要不你带两种尾巴,公众号内的一种,其他的另一种,碰到尾巴就更新 cookie,然后始终从 cookie 判断
mrtctl
2017-04-13 13:21:58 +08:00
微信分享的链接后面会自动带一个?from={xxx}&isappinstalled={xxx}

比如 ?from=singlemessage&isappinstalled=0

公众号直接点击应该不带?
BOYPT
2017-04-13 13:22:38 +08:00
@mewpoi #7 那你可以一直带尾巴,然后调用 jssdk 让分享地址跟当前不一样。
mewpoi
2017-04-13 13:24:18 +08:00
@wkan 计算微信公众号和微信内分享链接的注册量,打开的链接并不是注册页,需要跳转后才到注册页,就是这个需求
mewpoi
2017-04-13 13:26:17 +08:00
@pubby 这个是最后没办法的办法,尽可能不想带那么多尾巴,因为微信分享已经带了尾巴,继续增加逻辑会乱,当然并不是不可行
wkan
2017-04-13 14:21:50 +08:00
这个不是可以统计微信按钮的点击事件吗
chairuosen
2017-04-13 14:26:21 +08:00
@mewpoi 第二跳也可以啊,改程序里 url 透传
mewpoi
2017-04-13 19:40:08 +08:00
@chairuosen 改 url 会有问题,当跳转一个地址以后,再返回之前页面需要 2 次,一次是之前页面的 url 第二次是改后的 url ,会影响体验…
mewpoi
2017-04-13 19:42:13 +08:00
@wkan 点击以后跳转到内嵌 wap 网站,再记录里面的注册就不行了,因为用户可以选择离开打开分享页,如果记 cookie 也不准确,因为会一直保留,除非两边都记
ltq918
2017-04-13 23:51:59 +08:00
点击按钮,触发关键字图文回复,点击图文跳转到链接,然后统计关键字触发次数呢
chairuosen
2017-04-14 09:05:31 +08:00
@mewpoi 所以我说用 replaceState 改
shew2356
2017-04-14 10:29:57 +08:00
加上小尾巴。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/354546

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX