扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
当然可以了,脚本都不需要重新启动的。但是要刷新页面,清理浏览器缓存。
成都创新互联专注于企业营销型网站、网站重做改版、孝昌网站定制设计、自适应品牌网站建设、H5技术、成都商城网站开发、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为孝昌等各大城市提供网站开发制作服务。
1、实现原理
使用代理的方式让所有类和实例能够在js文件更改后, 对被代理对象进行替换, 实现热更新.
2、作用
使用这个模块引入的js文件, 在修改后不需要重启服务器, 可以达到下列效果:
1)require.cache更新了, 新的require使用新的js
2)原来旧的类对应的实例也更新了 具体就是: 绑定在prototype下的函数, 绑定在类上的函数等也更新了, 旧实例调用的是新的代码.
3、注意
1)因为代理会消耗一定资源, 所以建议只在逻辑js上使用.
2)目前建议开发环境中用, 因为还在完善
4、安装
npm install hot-require
5、引入
// app启动时候引入这个模块, 引入一次即可
require('hot-require');
6、示例
// 需要热更新js, 用下面方式代替原有的require函数
var yourJs = _require(__dirname, '[your js path]');
//获取json,这里用的是jquery的ajax方法,只是意思意思,这里可以替换为任何ajax请求
function getData(){
$.ajax({
url: "xxx.php",
success: function(jsondata){
output(jsondata);
}
});
}
//函数
function output(json){
//转换字符串为对象
var Data = eval('(' + json + ')');
var html = '';
for(var i=0;iData.length;i++){
//具体键值根据你返回的字符串来
html += '名字' + Data[i].name + ' 年龄' + Data[i].age;
}
//插入到元素
document.getElementById('el').innerHTML = html;
}
//每隔10秒执行
setTimeout(getData, 10000);希望能帮到你,请采纳
Navigator
获取的名称
var browser=navigator.appName
获取浏览器的版本
var b_version=navigator.appVersion
进行对IE5.5 and IE6.0判断
if(b_version.indexOf("MSIE 6.0") != -1 || b_version.indexOf("MSIE 5.5") != -1){
如果条件成立,则对其执行:
document.getElementById("ie6").style.display = "block";
否则
alert("您目前使用的浏览器无需更新!")
整体代码:
!DOCTYPE HTML
head
title New Document /title
style type="text/css"
*{margin:0;padding:0;}
ul{list-style:none outside none;}
#ie6{text-align:center;line-height:30px;display:none}
/style
/head
body onload="detectBrowser()"
script type="text/javascript"
function detectBrowser()
{
var browser=navigator.appName
var b_version=navigator.appVersion
if(b_version.indexOf("MSIE 6.0") != -1 || b_version.indexOf("MSIE 5.5") != -1){
document.getElementById("ie6").style.display = "block";
}
一般有这些方案,覆盖面逐级递增:
1、Expires
2、Cache-control
3、Last-Modifiedetag
4、修改Querystring
5、修改文件名/路径名以修改URL
不修改URL,避开4、5的话,可以结合1和3来更新,Expires设置缓存(及失效时间),Last-modified通知更新。
但如果PV达到一定量级,很难保证所有用户都拿到最新的静态(甚至4都不太靠谱,运营商有劫持静态的可能),选择5改URL是必然的事情。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流