建议 web-view的useragent中能加入特殊字符以区分微信自带浏览器
发布于 4 年前 作者 taojie 709 次浏览 来自 问答

建议 web-view的user-agent中能加入特殊字符以区分微信自带浏览器

或者开发者可以自己设定部分header信息


我的需求是在页面加载前使用服务器程序来判断是否是小程序,还没到页面加载后用js来判断这一步


URL 里加特殊的字符串这个方法是我现在在用的方法,但是很不方便,如果遇到页面里有其他页面的链接,就很麻烦了

所以还是建议能通过user-agent中加入特殊字符的方式,方便开发


有官方用户回复建议:第一次在web-view src上带多一个参数,服务器识别到这个参数后种一个cookie呢,后续请求识别这个cookie即可。cookie的有效期可以只是当前session

我这边实际测试的结果是:设置cookie方法不行,我实际测试了,即使cookie有效期是当前session的情况下,在小程序webview中设置的cookie,在同一进程微信浏览器中打开,这个cookie仍然存在


根源还是在 小程序webview和微信本身浏览器没有做区分

6 回复

你好,感谢反馈,目前安卓有在ua上做区分,iOS因系统原因暂时还没有,对于你这种场景,我们会考虑下看怎么支持到。

有一个疑问

为什么我用 微信开发者工具查看 userAgent 是有 miniprogram 的标识但是真机 ios 就不可以

遇到同样的问题,也采用种cookie的方法,但是清cookie可就不太好搞了

@黄思程 我们也有此需求。我们的公众号和小程序 webview 是共用一个 H5,如果能在 UA 上做区分,就能在 nginx 层做多入口。比如公众号需要加载地图 SDK,小程序 webview 无需加载地图 SDK(因为小程序里面地图是用小程序地图组件做的),可以提升小程序 webview 加载速度。

或者换个需求,小程序web-view和微信自带浏览器从业务逻辑上来说是不通用的,那么session、cookie也应该是不通用的才行

始终认为在小程序webview和小程序本体之间搞jsBridge才是正途……

回到顶部