国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JS實(shí)現(xiàn)把一個(gè)頁面層數(shù)據(jù)傳遞到另一個(gè)頁面的兩種方式

2019-11-19 13:16:22
字體:
供稿:網(wǎng)友

由于之前面試,被問到過此問題,所以今天特意整理了一下。由于自己技術(shù)水平有限,若存在錯(cuò)誤,歡迎提出批評(píng)。

本博客整理了兩種方式從一個(gè)頁面層向另一個(gè)頁面層傳遞參數(shù)。

一. 通過cookie方式

1. 傳遞cookie頁面的html,此處命名為a.html

請(qǐng)輸入用戶名和密碼:

<input id="userName" type="text" /><input id="passwords" type="password" /><button id="btn">設(shè)置</button><button onclick="login()">傳遞cookie</button><button onclick="deletecookie()">刪除</button>

2.a.html的js代碼

//設(shè)置cookievar setCookie = function (name, value, day) {  //當(dāng)設(shè)置的時(shí)間等于0時(shí),不設(shè)置expires屬性,cookie在瀏覽器關(guān)閉后刪除  var expires = day * 24 * 60 * 60 * 1000;  var exp = new Date();  exp.setTime(exp.getTime() + expires);  document.cookie = name + "=" + value + ";expires=" + exp.toUTCString();};//刪除cookievar delCookie = function (name) {  setCookie(name, ' ', -1);};//傳遞cookiefunction login() {  var name = document.getElementById("userName");  var pass = document.getElementById("passwords");  setCookie('userName',name.value,7)  setCookie('password',pass.value,7);  location.href = 'b.html'}function deletecookie() {  delCookie('userName',' ',-1)}

3. 接受cookie的頁面,此處定義為b.html

<button onclick="getcookie()">獲取</button>

4. b.html的js代碼

//獲取cookie代碼var getCookie = function (name) {  var arr;  var reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");  if (arr = document.cookie.match(reg)){    return arr[2];  }  else    return null;};//點(diǎn)擊獲取按鈕之后調(diào)用的函數(shù)function getcookie() {  console.log(getCookie("userName"));  console.log(getCookie("password"))}

二. 通過url傳遞參數(shù)的方式

該案例也是從a.html向b.html頁面?zhèn)鬟f參數(shù)

1. a.html的代碼

<input type="text" value="猜猜我是誰"><button onclick="jump()">跳轉(zhuǎn)</button>

2.點(diǎn)擊跳轉(zhuǎn)按鈕可以將input標(biāo)簽的value值傳遞到b.html

function jump() {  var s = document.getElementsByTagName('input')[0];  location.href='7.獲取參數(shù).html?'+'txt=' + encodeURI(s.value);}

3. b.html中的代碼

<div id="box"></div>var loc = location.href;var n1 = loc.length;var n2 = loc.indexOf('=');var txt = decodeURI(loc.substr(n2+1,n1-n2));var box = document.getElementById('box');box.innerHTML = txt;

三.通過localStorage

通過localStorage傳遞參數(shù)類似cookie。但是要注意:要訪問一個(gè)localStorage對(duì)象,頁面必須來自同一個(gè)域名(子域名無效),使用同一種協(xié)議,在同一個(gè)端口上。

1. a.html中的js文件

//將localStorage傳遞到哪個(gè)頁面location.href = 'b.html'//設(shè)置localStoragewindow.localStorage.setItem('user','haha');

2.b.html中的文件

<button onclick="getcookie()">獲取</button>function getcookie() {  //獲取傳遞過來的localStorage  console.log(window.localStorage.getItem('user'))}

總結(jié)

以上所述是小編給大家介紹的JS實(shí)現(xiàn)把一個(gè)頁面層數(shù)據(jù)傳遞到另一個(gè)頁面的兩種方式,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林網(wǎng)網(wǎng)站的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 黄冈市| 秦皇岛市| 郎溪县| 江阴市| 新源县| 桦甸市| 柳林县| 桃江县| 盘锦市| 广宁县| 江达县| 勃利县| 额济纳旗| 上杭县| 宜城市| 临湘市| 安仁县| 平山县| 天峨县| 长泰县| 介休市| 和平县| 屏边| 孝感市| 盐源县| 浙江省| 金寨县| 黄石市| 新和县| 平遥县| 石景山区| 卫辉市| 永靖县| 大理市| 民勤县| 建始县| 桃江县| 平原县| 阳新县| 荣成市| 垦利县|