我在javascript中有一个函数,该函数为名称为LSKey [c] utm_source的Salesforce提取了我的UTM_SOURCE Cookie。问题是当我存储cookie时,chrome inspect自动对括号[]
进行解码,并将其分别强制为%5B和%5D。
我试图做一个encodeURI,并且还用.replace("%5B"
替换了字符串,但是没有运气。
有没有一种方法可以使用javascript编码括号?任何帮助表示赞赏。
function getCookie(){
// PARSE URL
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
// ASSIGNING VARIABLE NAMES TO URL PARAMETERS
var source = getParameterByName('utm_source').replace("%5B", "[").replace("%5D", "]");
// SETTING UTM PARAMETER COOKIES
if($.cookie('LSKey[c]utm_source') == null || $.cookie('LSKey[c]utm_source') == "") {
$.cookie('LSKey[c]utm_source', source, { domain: '.example.com' , path: '/' , expires: 90});
}
window.onload = getCookie();