鍍金池/ 問答/HTML/ Web項(xiàng)目怎樣在發(fā)布版本后強(qiáng)制刷新資源?

Web項(xiàng)目怎樣在發(fā)布版本后強(qiáng)制刷新資源?

目前官網(wǎng)項(xiàng)目使用的jquery + gulp,給js、css、html添加md5,但是感覺效果不明顯,每回發(fā)布版本后,還是經(jīng)常需要用戶自己強(qiáng)制去刷新頁面才能看到變化,不知道接下來該如何去優(yōu)化?
管理后臺(tái)項(xiàng)目使用的vue全家桶,單頁面應(yīng)用怎么在版本發(fā)布后強(qiáng)制用戶刷新頁面?因?yàn)榭赡苡脩糸L時(shí)間停留在某個(gè)頁面,導(dǎo)致在版本發(fā)布后,用戶若不主動(dòng)刷新頁面,實(shí)際使用的仍是舊版本。

回答
編輯回答
陪妳哭

一個(gè)想法:
配置一個(gè)類似心跳檢測的循環(huán)處理(根據(jù)需要設(shè)置檢測頻次),專門檢測版本信息,如果檢測到和當(dāng)前不一致,就主動(dòng)進(jìn)行刷新操作。

2017年10月26日 17:37
編輯回答
貓小柒

如果是單純的頁面的話,就如上面說的,在發(fā)送請(qǐng)求中加上版本號(hào),后端發(fā)現(xiàn)版本號(hào)與最新的不一致時(shí),返給你一個(gè)約定的code,你可以在響應(yīng)請(qǐng)求的地方做攔截,捕獲code,針對(duì)這個(gè)code做刷新頁面的邏輯處理。

如果是混合開發(fā)的話,我們團(tuán)隊(duì)正在做一個(gè)weex的解決方案,可以提供給你思路。weex-eros發(fā)布更新

2018年3月16日 08:36
編輯回答
夢(mèng)若殤

想到2個(gè)辦法

把版本信息寫在js中

1.每次客戶端打開網(wǎng)頁,配置個(gè)長連接,或者用websocket,如果更新版本主動(dòng)推送給版本低的客戶端,客戶端寫個(gè)刷新的接口或者提示客戶端刷新

2.在每個(gè)api請(qǐng)求加上版本信息,如果版本不匹配就提示刷新,這個(gè)只在用戶獲取新數(shù)據(jù)時(shí)會(huì)觸發(fā),可能容易點(diǎn)

2017年8月1日 10:08