window.location對象的屬性:
屬性 | 含義 | 值 |
location.protocol | 協議 | "http://"或"https://" |
location.hostname | 服務器名字 | "baidu.com" |
location.port | 端口 | "8080" |
location.pathname | URL中主機名后的部分 | "/index.php" |
location.search | "?"后的部分,又稱查詢字符串 | "?type=2&id=122" |
location.hash | "#"之后的內容 | "#first" |
location.host | 等於hostname+port | "baidu.com:8080" |
location.href | 當前頁面的完整URL | "http://baidu.com:8080?type=2&id=50#first" |
window.location對象的方法:
方法 | 描述 |
location.assign() | 加載新的文檔 |
location.reload() | 重新加載當前文檔 |
location.replace() | 用新的文檔替換當前文檔 |
location.href 與location.assign()以及location.replace()的區別:
location.href='http://baidu.com' === location.assign('http://baidu.com') 都是在當前頁面跳轉到新的頁面,在新頁面點擊返回按鈕,可回到上一頁。
location.replace('http://baidu.com') 當前頁面被新頁面替換,不能回到上一頁。
如何使用js腳本捕獲頁面GET方法請求的參數? 比如 "?type=2&id=50" 里的2和50。
1 var dataList=window.location.search; //使用location.search獲取?type=2&id=50字符串。 2 var dataArray=dataList.split("&"); //用"&"將字符串進行分割,返回到數組中。得到{?type=2,id=50} 3 var type=dataArray[0].split("=")[1]; //用"="將數組中的"?type=2"分割為數組{?type,2},並取index=1的字符串2。 4 var id=dataArray[1].split("=")[1]; //同上 5 console.log(type,id); //2 50
補充:字符串的split()方法
split(separator,howmany);
separator:必需,字符串或正則表達式。從該參數指定地方分割。被分割的字符返回到數組中,且不包含separator本身。
howmany:可選,指定返回數組的最大長度。