首页 > web前端 > js教程 > js页面刷新之实现普通页面

js页面刷新之实现普通页面

高洛峰
发布: 2016-10-12 11:24:10
原创
1032 人浏览过

准备面试题目的时候遇到了页面刷新,就整理了一下,网上查找,大概就是八种方法,但是自己测试的时候出现了几个问题,跟大家分享:

首先准备一个测试页面:

<!--html代码--> 
<h1 id="test">页面刷新</h1>
<button onclick="fresh()">刷新</button
登录后复制
//script
var h1 = document.getElementById(&#39;test&#39;);
function test(){
     h1.style.color = "red";
     h1.innerText = "我变化了";
}
setInterval(test, 1000);
登录后复制

准备工作完成,开始页面刷新方法:

  1. 可以正常使用的五种方法:

 //第一种方法
function fresh(){
       window.location.reload();//强迫浏览器刷新当前页面,默认参数为false,表示从客户端缓存里取当前页。如果指定为true,则以GET方式从服务端取最新的页面,相当于客户端点击F5。
}
登录后复制
 //第二种方法
 function fresh(){
      history.go(0);
}
登录后复制
 //第三种方法
 function fresh(){
       location = location;
 }
登录后复制
 //第四种方法
 function fresh(){
       location.assign(location);//assign()方法加载一个新的文档。
 }
登录后复制
 //第五种方法
 function fresh(){
     location.replace(location);//通过指定URL替换当前缓存在历史里(客户端)的项目,所以使用replace方法之后,不能通过“前进”和“后退”来访问已经被替换的URL。
 }
登录后复制

2.只在ie可以执行的两种方法:

 //第六种方法
 function fresh(){
       document.execCommand(&#39;Refresh&#39;);//是只有IE提供的方法,叫浏览器方法。
 }
登录后复制
 //第七种方法
 function fresh(){
       window.navigate(location);//只在ie可以执行,不适用于火狐等其他浏览器。
 }
登录后复制

3.网上很容易找到,但是个人认为是错误的一种方法:

 //错误方法
 function fresh(){
       document.URL=location.href;//错误用法,document.URL只能读不能写
 }
登录后复制

但是也可以有替代的方法:

//第八种方法
//window.location.href和document.location.href可以被赋值,然后跳转到其它页面
//一个窗口下只有一个window.location.href,但是可能有多个document.URL、document.location.href
function fresh(){
      document.location.href = location.href;
      //可以使用,document表示的是一个文档对象   
}
登录后复制
 //第九种方法(与第八种方法是一类)
 function fresh(){
      window.location.href = location.href;//可以使用,window表示的是一个窗口对象
 }
登录后复制


来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板