zoukankan      html  css  js  c++  java
  • HTML页面之间跳转与传值(JS代码)

    跳转的方法如下:
    方法一:
    window.location.href = "b.html";
    方法二(返回上一个页面,这个应该不算,先放在这):
    window.history.back(-1);
    方法三:
    self.location = "b.html";
    方法四:
    top.location = "b.html";
    有关问题的思考:
    第一,为什么给window.location和window.location.href赋值时一样的,都可以跳转?
    思考:
    location是location.href的简写,无论是访问值还是赋值。
    从功能上,location等于location.href;
    但从本体论上,location是一个对象,location.href是它的一个属性。
    这种怪异的行为应该是为了兼容无疑。
     
    第二,给location赋值的时候,如果跳转的页面不是在同一个目录下,需要把完整的URL写上。如:当前location.href为https://www.google.com/ ,如果要跳转到https://www.baidu.com/, 就不能只是www.baidu.com,必须把URL写完整。
     
    传值的方法如下:
    方法一:URL传参(?后面的参数)(去哪儿网笔试题,把URL后面的参数解析为对象)
    window.location.href = "https://www.google.com/search?q=hello&oq=hello"
     
    function parseURL(url){
        var url = url.split("?")[1];
        var para = url.split("&");
        var len = para.length;
        var res = {};
        var arr = [];
        for(var i=0;i<len;i++){
            arr = para[i].split("=");
            res[arr[0]] = arr[1];
        }
        return res;
    }
    方法二:cookie传参
    function setCookie(cname,cvalue,exdays){
        var d = new Date();
        d.setTime(d.getTime() + (exdays*24*60*60*1000));
        var expires = "expires=" + d.toUTCString();
        document.cookie = cname + "=" + cvalue + "; " + expires;
    }
     
    function getCookie(cname){
        var name = cname + "=";
        var ca = document.cookie.split(";");
        for(var i=0;i<ca.length;i++){
            var c = ca[i];
            while(c.charAt(0)==' '){
                c = c.substring(1); 
            }
            if(c.indexof(cname) == 0){
                return c.substring(name.length,c.length);
            }
        }
        return "";
    }
    方法三:H5中Web Storage中的localStorage对象
     
    localStorage.setItem("lastname","lu");
    或者
    localStorage.lastname = "lu";
     
    localStorage.getItem("lastname");
    或者
    localStorage.lastname;
  • 相关阅读:
    80端口被NT kernel & System 占用pid= 4的解决方法
    黑马程序员:装饰类的作用——增强被装饰类的方法的功能(利用组合实现复用)
    黑马程序员——java基础之文件复制
    10进制转换16进制原理及取得16进制最后一位或倒数第二位
    Django-admin源码流程
    Django-内置Admin
    Django-Form 补充
    有时间的时候可以看看
    编辑器KindEditor的使用
    Git的使用
  • 原文地址:https://www.cnblogs.com/mingmingcome/p/5926254.html
Copyright © 2011-2022 走看看