H5极致体验
H5极致体验
  • 发布:2015-12-21 17:53
  • 更新:2019-11-25 19:22
  • 阅读:3058

关于Webview页面缓存问题,【请官方大神进】【未解决】急~急~急

分类:HTML5+

大神们,我们遇到一些缓存问题,问题如下:

背景:在manifest.json入口指定一个外网地址,实现纯外网的应用,外网更新,APP整体更新

问题:外网更新了,但app还是读缓存。我们需要读最新页面

尝试:url加时间戳、头部加强制不缓存。结果都不行。

请问官方作者们,应该如何解决?

2015-12-21 17:53 负责人:无 分享
已邀请:
H5极致体验

H5极致体验 (作者)

顶~

ahwx1994

ahwx1994

$.ajaxSetup({  
        cache: false //close AJAX cache   
});

jquery用这么个东西,可以强制不读缓存

  • H5极致体验 (作者)

    ajax倒没缓存。是html、js等静态资源缓存

    2015-12-21 20:34

H5极致体验

H5极致体验 (作者)

官方大神们,能否给个回答?

云海帆

云海帆 - 咨询问题请+Q1395641578

重启APP还是读缓存?
我猜你需要的是这个:

webview.reload( force );
force: ( Boolean ) 必选 是否强制不使用缓存
reload

  • H5极致体验 (作者)

    。。。不是,这个我试过了,体验不好,进去就刷新白屏。

    2015-12-23 15:02

H5极致体验

H5极致体验 (作者)

官方能回答吗?

H5极致体验

H5极致体验 (作者)

~~~

maq

maq

既然你是【在manifest.json入口指定一个外网地址】,那么【url加时间戳】这个又是怎么做到的呢?

如果你在 app 里保留一个 index.html 作为入口,在这个里面再设法加载外网地址,一定有办法绕过缓存。不过,如果真是 webview 缓存设置过度的话,后续的点击操作恐怕还是难以避免缓存。

  • H5极致体验 (作者)

    url加时间戳这个是在app保留一个index.html,然后再用webview打开一个外网,那个时候就可以加上时间戳,但还是不行。

    2015-12-23 16:22

H5极致体验

H5极致体验 (作者)

~~

H5极致体验

H5极致体验 (作者)

~~

H5极致体验

H5极致体验 (作者)

~~

H5极致体验

H5极致体验 (作者)

~~

maq

maq

你的意思是,你在外网 url 后面加了时间戳以后再访问到的还是被缓存的内容?

正常情况下,这是不可能的。请检查一下你的外网 url 里面是不是有 #

BTW: 你这么频繁地顶帖,未必能引来更多愿意帮助你的人,而且可能会有反作用。

  • H5极致体验 (作者)

    是的,还是被缓存,时间戳参数是带在#前面的,后端能识别和获取,我们的框架的是用hash跳转的,也就是单页面应用。不是我想频繁顶贴,但我觉得官方至少出来说句吧,能否解决说一声就好啦,免得我们在这浪费时间。

    2015-12-23 16:50

  • maq

    心情可以理解。但是官方也不可能做到有求必应。如果你真是着急顶帖的话,也最好每次能多提供一些有帮助的信息。就算官方的技术人员来了,肯定也是首先跟你要代码才能去测试,不可能根据你的描述自己去写代码帮你测试。

    2015-12-23 17:01

chender

chender - 与人为善

外部的页面是js和css没更新还是页面的html没更新啊?

  • H5极致体验 (作者)

    静态资源都被缓存了。每次我都需要删除应用重新安装才能读到最新。

    2015-12-23 16:52

  • maq

    这么说的话,应该是静态资源被缓存了,而不是 html 本身被缓存的问题。这种情况,应该是给静态资源的 url 加时间戳才管用。

    2015-12-23 16:58

  • maq

    嗯……叫【版本戳】也许更准确一点。

    2015-12-23 17:02

  • chender

    回复 H5极致体验:那你url的时间戳要加在js和css的引用上

    2015-12-23 17:16

H5极致体验

H5极致体验 (作者)

~

忽忽

忽忽

遇到同样的问题,求官方大神解答

SAOmi

SAOmi

虽然麻烦点 直接打开设置 清除下软件的缓存就行 不用卸载再安装

该问题目前已经被锁定, 无法添加新回复