时间:2019-05-05 来源:小程序工厂
黄***:
你们这个自定义header是设置后,第一次打开页面需要,还是接下来的跳转请求都带上这个自定义header?
祺***:
都可以
微信小程序webview
祺***:
说的再详细点,如果微信小程序的web-view和微信本身的浏览器能区分的情况下,可以是第一次打开页面需要。否则就是接下来的跳转请求都带上这个自定义header
祺***:
这里涉及到另一个需求,微信小程序的web-view的useragent中可以带有特殊字符
c***:
你好,我们会在后续版本中考虑这个需求
目前可以通过在web-view组件的src上多带一个特殊参数来区分程序环境。
页面中可以通过js变量window.__wxjs_environment来判断是否是微信小程序打开
微信小程序 地图导航 路线规划
祺***:
@cunjinli 你好,你说的两种方法我都知道,都不符合我这边的开发需求
我这边逐条说一下
“可以通过在web-view组件的src上多带一个特殊参数来区分程序环境”
在URL 里加特殊的字符串这个方法是我现在在用的方法,但是很不方便,如果遇到页面里有其他页面的链接,就很麻烦了
“页面中可以通过js变量window.__wxjs_environment来判断是否是微信小程序打开”
很多时候在页面js生效之前就需要在服务器端先判断环境来决定加载的数据
在web-view的user-agent中加入特殊字符以区分微信自带浏览器 这个需求已经提了很多次了,微信小程序和微信本身浏览器从业务上来说很显然是属于两套不同逻辑,理应有所区分,希望可以尽快实现这个需求,谢谢
a***:
这个功能非常必要,通过url传参不太方便,也太好被模拟。
目前web-view和微信小程序自身与服务器端的会话同步也需要我们对web-view最一些自定义。
window.__wxjs_environment 是在前端操作,对于保密性而言根本没什么意义。
而通过postMessage来互相交互确认信息, 现在还非常鸡肋基本没得耍
黄***:
第一次在web-view src上带多一个参数,服务器识别到这个参数后种一个cookie呢,后续请求识别这个cookie即可。cookie的有效期可以只是当前session
点击tabbar苹果手机下无法打开scancode,微信小程序教程
祺***:
@黄思程 设置cookie方法不行,我实际测试了,即使cookie有效期是当前session的情况下,在微信小程序webview中设置的cookie,在同一进程微信浏览器中打开,这个cookie仍然存在
根源还是在微信小程序webview和微信本身浏览器没有做区分