Egret版本更新(H5增加版本号)

由于浏览器缓存问题。在服务器上更新了新的图片等资源以后,客户端并不会下载最新的。

关于浏览器缓存机制,可自行百度。

Egret中资源更新解决方案有以下:

一 资源名后增加版本号

二 重写Egret引擎加载

一 资源名后增加版本号

在default.res.json资源配置文件中,在路径后加上"ver=1.0",下次修改后,将版本号向上增加"ver=1.1"。

这样每次浏览器都会下载跟新后的资源。

优点:

1 可以根据更新需求,控制到只更新某一张图片,或更新所有资源。

缺点:

1 需要知道哪个资源被更新了,然后手动去修改版本号,非常的麻烦。

 二 重写Egret引擎加载

在加载资源之前,重写getVirtualUrl方法。

RES.web.Html5VersionController.prototype.getVirtualUrl = function(url) {
   url += "?v=" + window["version"];
   return url;
}

window["version"]在index.html中定义。每次更新后直接修改这个版本号就可以了。

var version = "1.0";

这样Egret每次加载时,会自动在url后拼接版本号

"http://192.168.0.101:3001/resource/default.thm.json?v=1.0".
"http://192.168.0.101:3001/resource/config/description.json?v=1.0".

优点:

1 每次更新可以非常方便的修改版本号,保证版本更新后,下载的是新的。

缺点:

1 每次修改版本号,所有的资源都会重新下载。无论修改或没修改过的。

时间: 2024-08-10 00:04:23

Egret版本更新(H5增加版本号)的相关文章

Egret之H5前端Log的实现过程

一 前言 : 最近公司希望我做一个日志系统,用来排查手手游Bug用的.因为前些时候实现了vConsole在手机上的显示,所以觉得是轻车熟路了.麻烦的是 : 需要玩家在出现bug后打开记录截图给我方策划,供前端开发人员分析,Low是Low了点,但是好实现.但是没过几天新的情况出现了:游戏闪退.Oh , My God!玩家截图的机会都没有了.只有硬着头皮搞正真的Log方案了.我在GitHub上搜到Log4js,但是专门为node.js做的类库,放在Egret前端上折腾了大半天,因为Log4js依赖太

webpack脚手架增加版本号

1.product模式下,新增版本号: 1)common.js文件中,输出的文件路径要跟着变化 output: { filename: 'js/[name].js', path: path.resolve(__dirname, '../dist/'+config.version+'/'), publicPath: config.publicPath + '/'+config.version+'/', }, 2) 插件中的html也要修改html的路径 new HtmlWebpackPlugin(

App版本号定义与说明基础知识

版本控制比较普遍的三种命名格式 GNU 风格的版本号命名格式 主版本号 . 次版本号 [. 修正版本号 [. 编译版本号 ]] 示例 : 1.2.1, 2.0, 5.0.0 build-13124 Windows 风格的版本号命名格式 : 主版本号 . 次版本号 [ 修正版本号 [. 编译版本号 ]] 示例: 1.21, 2.0 Net Framework 风格的版本号命名格式: 主版本号.次版本号[.编译版本号[.修正版本号]] 版本号由二至四个部分组成:主版本号.次版本号.内部版本号和修订号

Egret学习-初次创建项目

最近无聊,好久没有写游戏了,决定学习下egret,主要原因:egret是h5框架,相比android和iPhone或cocos2dx来说不需要安装可以直接运行. 下面进入正题,开始学习egret 简单看了下官方文档, 1.需要安装引擎 EgretLauncher,版本号:1.1.4 安装引擎,5.2.4 2.安装开发工具 Egret Wing3,版本号4.1.6 3.创建项目,跟着官方文档就好 各文件夹功能说明 .wing:包括 Egret 项目的任务配置文件和启动配置文件. wingPrope

h5标签基础 meta标签

<meta>标签位于<head>标签里面,具体作用有如下: 1.设置网页编码 eg: <meta charset="utf-8"/>  ,//utf-8是包含了全世界字符的一个编码集合,例如一个中文网站在国外搭建后依旧不会乱码,会使用英文显示出来 2.增强Seo ,百度抓取强度 · <meta name="keywords" content="h5基础,h5标签meta的使用,h5增加抓取强度"/>

认识H5!

1.H5是HTML的一个最新版本,也是web的一个标准,兼容IE9+及主流浏览器 2.H5增加了语义化标签.本地存储.智能表单.多媒体 3.CSS3增加了圆角.过渡.动画,提高了用户体验 4.增加了DOM的新API,使得DOM操作更加方便 5.增加了与硬件结合的功能,如定位.重力感应. 硬件访问等功能 6.通常说的H5指HTML5.CSS3.javascript,是一个组合开发平台

为js和css文件自动添加版本号

web应用必然要面对缓存问题,无论前台后台都会涉足缓存.特别是对于前端而言,缓存利用的是否得当直接关系到应用的性能. 通常情况下,我们会倾向于使用缓存,因为缓存一方面可以减少网络开销,一方面可以减轻服务器的压力. 但是有些时候缓存也会带来一些比较诡异的问题,呵呵.关于缓存的文章应该不在少数,不再讨论,本文的重点在于为js和css文件自动添加版本号. 这样做的原因是:首先对于js和css类型的静态文件设置了缓存机制,当文件被更新时,需要强迫浏览器下载修改后的新文件,也就是要更新缓存,而通过为js和

有趣的版本号

计算机的世界,版本号(version)无处不在,不管是发布的软件.产品,还是协议.框架.那什么是版本号呢 在这里是这样定义的: Software versioning is a way to categorize the unique states of computer software as it is developed and released. 软件版本号是对开发.发布中的软件的状态的唯一(unique)概括.简单来说,协议就是对一组状态的手工签名.作为程序员,我们经常用md5来签名,

VS版本号定义、规则和相关的Visual Studio插件

软件版本号主要标识了软件的版本,通过其可以了解软件.类库文件的当前版本,使得软件版本控制有所依据. 我们就Windows系统和.NET Framework的编号规则来看,软件版本号的定义结构一般是这样: 主版本号.子版本号.编译版本号.修正版本号 我们也可以在项目属性上可以看到相关设置的界面,对应的英文名称分别为:major.minor.build.revision Major:具有相同名称但不同主版本号的程序集不可互换.例如,这适用于对产品的大量重写,这些重写使得无法实现向后兼容性.当有极大的