window.location屬性用法及解決一個window.location.search為什么為空的問題


  通常用window.location該屬性獲取頁面 URL 地址:

1、什么是window.location?

  比如URL:http://b.a.com:88/index.php?name=kang&when=2011#first

  window.location和document.location互相等價的,可以交換使用

  location的8個屬性都是可讀寫的,但是只有href與hash的寫才有意義。

  例如:改變location.href會重新定位到一個URL,而修改location.hash會跳到當前頁面中的anchor(<a id="name">或者<div id="id">等)名字的標記(如果有),而且頁面不會被重新加載

  注意:URL:http://b.a.com:88/index.php?name=kang&how=#when=2011#first

  search:"?name=kang&how="     第一個"?"之后

  hash:"#when=2011#first"        第一個"#"之后的內容

2,為什么 window.location.search 為空?

  注意上面的search和hash的區別,如果URL中 ?之前有一個 # 比如:“http://localhost:63342/index.html#/version?type=35&id=5”,那么使用window.location.search得到的就是空(“”)。因為“?type=35&id=5”串字符是屬於“#/version?type=35&id=5”這個串字符的,也就是說查詢字符串search只能在取到“?”后面和“#”之前的內容,如果“#”之前沒有“?”search取值為空。

3、JS 腳本捕獲頁面 GET 方式請求的參數?

  其實直接使用 window.location.search 獲得,然后通過 split 方法結合循環遍歷自由組織數據格式。大概處理如下:

var searchURL = window.location.search; searchURL = searchURL.substring(1, searchURL.length); var targetPageId = searchURL.split("&")[0].split("=")[1];

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM