『壹』 js使用正則獲取當前頁面url指定參數
網址: http://1.com/
調用: QueryString('name')
返回: null
網址: http://1.com/?name=cwj&age=21
調用: QueryString('name')
返回: cwj
現在隨便拿一個網址: https://m.weibo.cn/u/5902368392?topnav=1&wvr=6&is_all=1&jumpfrom=weibocom ,這個網址的 location 是:
所以這個地址的 location.search 是 ?topnav=1&wvr=6&is_all=1&jumpfrom=weibocom ,這就是需要執行匹配的字元串
match() 方法可在字元串內檢索指定的值,或找到一個或多個正則表達式的匹配。
存放匹配結果的數組。在這個方法中將匹配結果放在了數組 sValue 中。
RegExp 對象表示正則表達式
該對象接受兩個參數,第一個參數是一個字元串,指定了正則表達式的模式或其他正則表達式。第二個參數 i 代表著區分大小寫的匹配。
調用該方法: QueryString('wvr') ,根據以上正則表達式匹配出來的結果是:
要注意的是 match 方法返回的數組 0 位置是匹配的字元串,所以相應參數在 sValue[1] 中
『貳』 利用js拿到當前頁面的url,並將地址賦值給某變數
var StrUrl=window.location.href;
『叄』 JS replace批量替換URL中的參數
ym.replace(new RegExp(str,"gm"), "<FONT COLOR=RED>" + str + "</FONT>");
『肆』 JS如何改變指定窗口頁面的鏈接
document.location.href="url";//不以新窗口打開
window.location.href="url";//不以新窗口打開
window.open("url");//新窗口打開
『伍』 如何用js實現更新URL但不刷新頁面
HTML5 History API中提供了一些state相關方法:
history.pushState(data, title[, url])
history.replaceState(data, title[, url])
第一個參數用於提供state data,在用戶點擊後退,觸發window.onpopstate時會提供此對象。
第二個參數用於重寫頁面標題,目前的瀏覽器都忽略此參數。
第三個參數用於重寫url,僅重寫最後一個url段的內容,就像題主提出的那樣。
如果要修改url的話請提供第三個參數。
『陸』 javascript 如何不刷新頁面改變url參數
可以使用:window.history.pushState,目前IE9之前不支持此方法