js 页面之间的跳转、传参以及返回上一页

时间:2022-07-09 22:28:26

js实现html 页面之间的跳转传参以及返回上一页的相关知识点

一、页面之间的跳转传参

1、在页面之间跳转的方式有两种:

window.location.href=”test.html?num=10”   地址会改变参数也会被传递但是不会打开新窗口

window.open("test.html") 这样会重新打开一个新窗口。

2、获取参数

如果是按照第一种方式进行了传递则有参数,那么我们怎们获取url中的参数那,那就使用js默认的属性:  var url = location.search;

其中的location.search 就是js自动获取url中? 后的所有值。获取了这个之后就可以使用substring,split等来获取参数了。

3、实例展示

  1. // 跳转url 以及传递的参数
  2. window.location.href='http://img.as.com/news/image/newscenter/20111107zt/whd/30share/jieguo1n.html?money='+nums+'&url='+fxurl;
  3. // 获取money,以及分型的地址
  4. function GetRequest() {
  5. var url = location.search;
  6. var theRequest = new Object();
  7. if (url.indexOf("?") != -1) {
  8. var str = url.substr(1);
  9. //alert(str);
  10. var strs= new Array();
  11. strs = str.split('&');
  12. var money=strs[0].substring(6);
  13. fxurl=(strs[1].substring(4)).trim();
  14. //alert(fxurl);
  15. var  view=money+"元";
  16. $("#jieguo1m").html(view);
  17. }
  18. }
  19. GetRequest();
        // 跳转url 以及传递的参数
window.location.href='http://img.as.com/news/image/newscenter/20111107zt/whd/30share/jieguo1n.html?money='+nums+'&url='+fxurl;
    // 获取money,以及分型的地址

    function GetRequest() {

          var url = location.search;

         var theRequest = new Object();

          if (url.indexOf("?") != -1) {

            var str = url.substr(1);

            //alert(str);

            var strs= new Array();   

             strs = str.split('&');

            var money=strs[0].substring(6);

            fxurl=(strs[1].substring(4)).trim();

            //alert(fxurl);

            var  view=money+"元";

            $("#jieguo1m").html(view);

      }

}

GetRequest();

这样当跳转到url指定的页面后,调用GetRequest();这个函数,函数中的location.search;来获取了url中?后的所有参数,接下来就是按照需求来解析了。

二、返回上一页

1、在原来的窗体中直接跳转用

  1. window.location.href="test.html";
window.location.href="test.html";

2、返回上一页原页面中的表单中的数据会丢失

  1. window.history.go(-1);
window.history.go(-1);

3、返回上一页原页面 表单中的内容会保留

  1. window.history.back();
window.history.back();

实例:

1、

  1. <input type=button value=刷新 onclick="window.location.reload()">
  2. <input type=button value=前进 onclick="window.history.go(1)">
  3. <input type=button value=后退 onclick="window.history.go(-1)">
  4. <input type=button value=前进 onclick="window.history.forward()">
  5. <input type=button value=后退 onclick="window.history.back()">
<input type=button value=刷新 onclick="window.location.reload()">
<input type=button value=前进 onclick="window.history.go(1)">
<input type=button value=后退 onclick="window.history.go(-1)">
<input type=button value=前进 onclick="window.history.forward()">
<input type=button value=后退 onclick="window.history.back()">

2、

  1. <a href="javascript:history.go(-1)">返回上一页</a>
  2. <a href="javascript:location.reload()">刷新当前页面</a>
  3. <a href="javascript:" onclick="history.go(-2); ">返回前两页</a>
  4. <a href="javascript:" onclick="self.location=document.referrer;">返回上一页并刷新</a>
  5. <a href="javascript:" onclick="history.back(); ">返回上一页</a>
<a href="javascript:history.go(-1)">返回上一页</a>
<a href="javascript:location.reload()">刷新当前页面</a>
<a href="javascript:" onclick="history.go(-2); ">返回前两页</a>
<a href="javascript:" onclick="self.location=document.referrer;">返回上一页并刷新</a>
<a href="javascript:" onclick="history.back(); ">返回上一页</a>

这里看到了 <a href="javascript:">就说说这个:

  1. <a href=”javascript:” onclick=”fun1()” >  </a>
  2. <a href=”javascript: undefined” onclick=”fun1()” >  </a>
  3. <a href=”javascript:void(0)” onclick=”fun1()” >  </a>
  4. 这三种方式,要实现的效果是一样的。即不执行跳转而是执行对应的函数,而JavaScript:void(0)在页面内容很多的时候会好一些
  5. 而且W3C标准不推荐在href里面执行javascript语句,所以还是用 onclick事件触发吧,所以我们不要这样写:<a href=javascript:function()>  </a>
<a href=”javascript:” onclick=”fun1()” >  </a>
<a href=”javascript: undefined” onclick=”fun1()” > </a>
<a href=”javascript:void(0)” onclick=”fun1()” > </a>
这三种方式,要实现的效果是一样的。即不执行跳转而是执行对应的函数,而JavaScript:void(0)在页面内容很多的时候会好一些
而且W3C标准不推荐在href里面执行javascript语句,所以还是用 onclick事件触发吧,所以我们不要这样写:<a href=javascript:function()> </a>