我有一个网址:
http://example.org/collections/inventory/cf-size-m+cf-type-capri+cf-vendor-manduka
我使用此脚本获取URL参数并将其插入变量:
<script>
var getUrlParameter2 = function getUrlParameter(sParam) {
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
sURLVariables = sPageURL.split('&'),
sParameterName,
i;
for (i = 0; i < sURLVariables.length; i++) {
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === sParam) {
return sParameterName[1] === undefined ? true : sParameterName[1];
}
}
};
var name = getUrlParameter2('myvar');
$("#Inventory").html(name);
document.write('<p>URL: '+name+'</p>');
</script>
当我有这样的事情时它会起作用:
`http://example.org/collections/inventory/?myvar=resultsblabla`
回到上面的网址:
http://example.org/collections/inventory/cf-size-m+cf-type-capri+cf-vendor-manduka
我希望变量cf-size
的位置和值m
的所在位置等等。
如果不清楚,请告诉我,以便我可以再次修改问题。谢谢你的帮助。
答案 0 :(得分:1)
您可以使用以下javascript代码执行此操作:
var url = "http://example.org/collections/inventory/cf-size-m+cf-type-capri+cf-vendor-manduka";
var lstIdxOfSlash = url.lastIndexOf("/");
var paramPart = url.substring(lstIdxOfSlash + 1);
var paramValArray = paramPart.split("+");
var keyValPair = {};
for (var i = 0; i < paramValArray.length; i++) {
var lstIdxOfDash = paramValArray[i].lastIndexOf("-");
var key = paramValArray[i].substring(0,lstIdxOfDash);
var val = paramValArray[i].substring(lstIdxOfDash+1);
keyValPair[key] = val;
}
console.log(keyValPair);