vue?url跳轉(zhuǎn)解析和參數(shù)編碼介紹
背景
最近在做url跳轉(zhuǎn)的時(shí)間遇到幾個(gè)問題,故在此記錄一下
vue獲取當(dāng)前url
url參數(shù)是掛載在 this.$route對(duì)象上的,其中query對(duì)象是所有參數(shù)的集合,fullPath是參數(shù)字符串形式,
類似下面的:
// 比如當(dāng)前的url為
// https://www.blakeyi.com/msgtrace/?startTime=1647864978687&endTime=1647951378687
this.$route = {
query:{
startTime:"1647864978687",
endTime:"1647951378687"
},
fullPath:"/?startTime=1647864978687&endTime=1647951378687"
}
// 所以要獲取對(duì)應(yīng)參數(shù)直接如下
let startTime = this.$route.query["startTime "]使用window.open打開頁(yè)面
window.open(url, '_blank') // 這里注意兩個(gè)點(diǎn) // 1是使用'_blank'參數(shù)打開新頁(yè)面 // 2是url得加上http頭,不然會(huì)在當(dāng)前網(wǎng)址下跳轉(zhuǎn), 比如說 // url為 www.baidu.com, 這樣子并不會(huì)跳轉(zhuǎn)到百度頁(yè)面,而是跳轉(zhuǎn)到 "currentUrl/www.baidu.com" ,這樣子自然是一個(gè)無(wú)效的頁(yè)面
url參數(shù)里面有特殊字符處理
其實(shí)就是把一些特殊字符轉(zhuǎn)換為 %hex的形式, 比如時(shí)間串里的冒號(hào):, 它的ascii碼是3A, 故轉(zhuǎn)換后為%3A, js提供了專門的函數(shù)來(lái)進(jìn)行轉(zhuǎn)換,最常用的encodeURI和encodeURIComponent,對(duì)URL編碼是常見的事,所以這兩個(gè)方法應(yīng)該是實(shí)際中要特別注意的。
它們都是編碼URL,唯一區(qū)別就是編碼的字符范圍
其中encodeURI方法不會(huì)對(duì)下列字符編碼 ASCII字母 數(shù)字 ~!@#$&()=:/,;?+’
encodeURIComponent方法不會(huì)對(duì)下列字符編碼 ASCII字母 數(shù)字 ~!()’
所以encodeURIComponent比encodeURI編碼的范圍更大。
如果你需要編碼整個(gè)URL,然后需要使用這個(gè)URL,那么用encodeURI
時(shí)間戳編碼問題
// 注意轉(zhuǎn)為UTC時(shí)間要減8小時(shí)
let timestamp = new Date(1647953273006).getTime() - 3600 * 8 * 1000 // 減8小時(shí)
let start = timestamp - 60 * 5 * 1000 // 減5分鐘
let end = timestamp + 60 * 5 * 1000 // 減5分鐘
let startTime = parseTime(start, '{y}-{m}-wppm3vysvbpT{h}:{i}:{s}.000Z')
let endTime = parseTime(end, '{y}-{m}-wppm3vysvbpT{h}:{i}:{s}.000Z')總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue3對(duì)比Vue2的優(yōu)點(diǎn)總結(jié)
vue3解決了vue2的一些缺陷與弊端,學(xué)習(xí)新的技術(shù)是很有必要的,本文總結(jié)了一些vue3的優(yōu)點(diǎn),希望各位能盡快轉(zhuǎn)入vue3的使用中2021-06-06
vue +elementui 導(dǎo)入CSV文件的方式
封裝一個(gè)公共js方法,使用papaparse解析CSV文件且返回?cái)?shù)組格式,下面通過示例代碼介紹vue +elementui 導(dǎo)入CSV文件的方式,感興趣的朋友一起看看吧2024-04-04
element-ui 上傳圖片后清空?qǐng)D片顯示的實(shí)例
今天小編就為大家分享一篇element-ui 上傳圖片后清空?qǐng)D片顯示的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2018-09-09
vue中使用 pako.js 解密 gzip加密字符串的方法
這篇文章主要介紹了vue項(xiàng)目中 使用 pako.js 解密 gzip加密字符串 的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06
vue中ref標(biāo)簽屬性和$ref的關(guān)系解讀
這篇文章主要介紹了vue中ref標(biāo)簽屬性和$ref的關(guān)系,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
使用axios請(qǐng)求接口,幾種content-type的區(qū)別詳解
今天小編就為大家分享一篇使用axios請(qǐng)求接口,幾種content-type的區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2019-10-10
vue之webpack -v報(bào)錯(cuò)解決方案總結(jié)
這篇文章主要介紹了vue之webpack -v報(bào)錯(cuò)解決方案總結(jié),本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09

