微信网页端部分华为手机不能正常显示网页的问题

2021-06-28 10:33:08 +08:00
 seamonster
之前写了个网页,JSP 写的,是在微信上预约登记用,打开网页后调用 api 登录,并存储预约和 openid 信息

一开始都是正常的,上线后,甲方反馈网页有时候打开是异常的,并截图给我看了

截图很明显的可以看出来是 JS 、图片等静态资源没有加载出来

经过多次反馈,总结了一下问题出现的情况:

1 、只有华为手机会出现,而且应该是部分高端一点的华为手机才会出现
2 、网页用域名访问才会出现,换成 ip + 端口 访问就不会出现


因为是网页,加上只有在部分手机上才能复现,所以没办法调试和查找问题(我是菜鸡),所以来大佬云集的 V2 问问各位大佬,你们遇到过这种情况吗?怎么解决呢?

或者请教一种能在微信网页里查找问题的方法,谢谢大家
2266 次点击
所在节点    程序员
25 条回复
Rache1
2021-06-30 12:37:08 +08:00
@seamonster 有可能是缓存,加个 version 看看
seamonster
2021-07-01 09:05:39 +08:00
@faqqcn #21 加了,网页正常了,但是 JS 里面的 Ajax 请求还是会报这个,我麻了
Rache1
2021-07-01 09:43:49 +08:00
@seamonster 😂 那可能是因为你 ajax 的请求也返回了错误的缓存头,没办法,你只能加 version 了
seamonster
2021-07-01 11:43:41 +08:00
@faqqcn #23 哈哈哈哈哈,谢谢大佬啦,现在问题很奇怪,页面加载的资源都设置了 version,包括 css 、js 、图片,但是 Ajax 还是错误了,Ajax 写在加载的 js 文件里的,页面上加了这个:
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
但是好像没有效果,你说的服务器返回了错误的缓存头,那我是需要设置 response 的 header 吗?
Rache1
2021-07-01 12:41:49 +08:00
@seamonster 是的,另外是指改 xhr 请求地址,加上 version 或者其他参数,可能是因为现在 api 的 response header 里面返回了错误的缓存策略

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

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

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

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

© 2021 V2EX