我找不到任何拆分器解决方案JS来获取此URL中的一个参数 https://www.test.be/fr_BE/home/forms/test-test-salon.html?configId=f4q8s9z1&ucpBaseurl=https%253A%252F%252Ftest.client.ucp.cloud&model=F56&motorization=Diesel
我要隔离的部分是模型ID,模型= F56,在这种情况下,我想隔离“ F56”
我尝试了此脚本,但没有成功:
var srcID = "11111"; // Insert your src ID here
var typeID = "11111"; // Insert your type ID here
var category = "m1111"; // Insert your category value here
var axel = Math.random() + ""; var a = axel * 10000000000000;
// Grab Data Layer
var dataLayerApi = digital.tracking.getInstance(dataLayer);
var digitalData = dataLayerApi.getPageObject((window.minidtm.actPageId !== undefined) ? window.minidtm.actPageId : dataLayerApi.getCurrentPageIndex());
var path = document.location.pathname;
var pathHirarchy = path.split("&");
if(path.match("\/fr_BE\/home\/forms\/.*\/.*") != null) {
// Get Model Info
var u1 = pathHirarchy[1] //U1 - Produit
var u2 = pathHirarchy[5].split(".")[0] //U2 - Sous Produit
}
else {
var u1 = "notApplicable";
var u2 = "notApplicable";
}
var DCtag = document.createElement("iframe");
DCtag.src = "https://" + srcID + ".fls.test.net/activityi;src=" + srcID + ";type=" + typeID + ";cat=" + category +
";u1=" + u1 +";u2=" + u2 + ";dc_lat=;dc_rdid=; tag_for_child_directed_treatment=;ord=1;num=" + a;
DCtag.width = "1"; DCtag.heigth = "1"; DCtag.frameborder = "0"; DCtag.style = "display:none"; DCtag.async = true;
document.body.appendChild(DCtag);
你有个主意吗?精通?
非常感谢! 卢多
答案 0 :(得分:1)
您可以使用正则表达式:
const url = 'https://www.test.be/fr_BE/home/forms/test-test-salon.html?configId=f4q8s9z1&ucpBaseurl=https%253A%252F%252Ftest.client.ucp.cloud&model=F56&motorization=Diesel';
const result = url.match(/model=(.*?)&/);
const model = result[1];
console.log(model);
编辑:
我要在这里留下这个答案,但是bflemi3的答案更好。
答案 1 :(得分:1)
您可以使用URLSearchParams
const params = new URLSearchParams(window.location);
const model = params.get('model');
如果查询字符串中没有model
,params.get('model')
将返回null。
有关URLSearchParams.get
的更多信息,请参见MDN documentation