跳轉的方法如下:
方法一:
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;