在好久遠的VM頁面代碼(2014年的代碼)中進行落數,須要傳一個keyWord(搜索關鍵詞)參數,後端數據中沒有返回,其餘地方也無從獲取,前端考慮從頁面url中獲取,經過通常前端方法進行解析後,並無什麼卵用。javascript
看了下頁面的編碼格式是gbk,返回的是gbk的編碼,這種編碼js是沒法直接解析的,只能建立一個html節點,字符放進去而後取出來應該才能夠。css
用script標籤來解析,其實就是須要讓瀏覽器能識別這個gbk編碼,由於js自己沒有gbk編碼轉換的html
function gbkconvert(gbkStr, callback) {
var script = document.createElement('script');
script.id = 'gbkconvert';
script.src = 'data:text/javascript;charset=gbk,gbkconvertCb("' + gbkStr + '");';
document.body.appendChild(script);
window.gbkconvertCb = (res) => {
callback && callback(res);
};
}
gbkconvert('%CE%D2%CA%C7gbk%B1%E0%C2%EB',(res) => {
console.log(res);
})
複製代碼
data類型的Url大體有下面幾種形式。前端
data:,<文本數據>
data:text/plain,<文本數據>
data:text/html,<html代碼>
data:text/html;base64,<base64編碼的html代碼>
data:text/css,<css代碼>
data:text/css;base64,<base64編碼的css代碼>
data:text/javascript,<javascript代碼>
data:text/javascript;base64,<base64編碼的javascript代碼>
data:image/gif;base64,base64編碼的gif圖片數據
data:image/png;base64,base64編碼的png圖片數據
data:image/jpeg;base64,base64編碼的jpeg圖片數據
data:image/x-icon;base64,base64編碼的icon圖片數據
複製代碼
data格式的Url最直接的好處是,這些Url本來會引發一個新的網絡訪問,由於那裏是一個網頁的地址,如今不會有新的網絡訪問了,由於如今這裏是網頁的內 容。這樣作,會減小服務器的負載,固然同時也增長了當前網頁的大小。因此對「小」數據特別有好處。java