Cordova应用程序自动同步/更新Web内容(.js文件),如果更新版本可用,否则使用缓存版本
Cordova app to auto sync/update web content (.js files) if updated version is available, else use cached one?
我使用标签在我的应用程序中包含一个外部.js文件。是否可以在将来使用缓存版本,直到.js的更新版本可用?
如果更新版本可用,则应用程序应使用更新的版本。
使用以下
方法使其工作:
使用文件传输.下载与标头
headers: {
"If-Modified-Since": <last download date>
}
例如。
var targetPath = cordova.file.dataDirectory + "external.js"
fileTransfer.download(
uri,
targetPath,
function(entry) {
var success = function(status) {
var script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.setAttribute("id", 'addedScript1');
script.setAttribute("src", targetPath ;
document.getElementsByTagName("head")[0].appendChild(script);
}
var error = function(status) {
alert('Error: ' + status);
}
window.localStorage.setItem("last_modified", new Date(new Date()).toGMTString());
window.cache.clear( success, error );
},
function(error) {
console.log(JSON.stringify(error));
var script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.setAttribute("id", 'addedScript');
script.setAttribute("src", targetPath
document.getElementsByTagName("head")[0].appendChild(script);
},
false,
{
headers: {
"If-Modified-Since": window.localStorage.getItem("last_modified")
}
}
);
相关文章:
- 如何检查Json文件更新,如果更新了,则用更新的数据刷新我的页面
- JSON:loop Invoice Items:如果InvoiceNo未退出则添加,如果退出则更新值,示例包括在内
- 如果我不应该在组件WillUpdate中调用setState,如何更新状态(使用ReactJS)
- 如果在线检查期间发生电源故障,我们如何更新用户再次登录门户时的剩余时间
- ng,如果没有捕获更新的$scope值
- 如果在DIV的底部,JQuery会更新
- 如何使用Passport.js本地策略检查当前密码并(如果正确)更新密码
- 检查文档是否已经存在,如果是则更新,否则创建新的Mongoose
- 从数组中删除值,用新的数组总数更新html或'$'如果没有总计
- 表单在每个页面中 - 仅在特定页面上处理它 - 如果当前不在页面上 - 重定向 - 否则 - 使用 AJAX 更新数据
- jQueryAjax SQL-如果我在多个用户上单击编辑,则Ajax会更新我单击的所有内容.不是最后一个点击
- 如果选择/下拉列表发生更改,则Mysql会更新
- 如果正在创建或更新项目,请在模型“validate”内部进行区分
- Mongoose创建一个文档,如果找不到指定的字段,则更新文档中的数组
- 如果HTML文件已更新,则执行JavaScript 2
- 如果值为true,AngularJS将更新ng模型
- 检查第 n 个子项是否存在,如果没有,则创建并更新
- 如果源 json 已更新(添加或删除项目),则动态更新 D3 旭日
- 如果外部应用程序更改了持久模型(服务器数据库),AngularJS 是否可以自动更新视图
- 在MongoDB中查询数组中的数组;更新如果存在,插入如果为空