动态内容取决于 url 参数
Dynamic content depending url params
我有那个 jquery 脚本:
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
var dynamicContent = getParameterByName('utm_term');
$(document).ready(function() {
if (dynamicContent == 'buy') {
$('#buy').show();
}
else {
$('#default-content').show();
}
});
它是这样工作的:如果 URL 中的 utm_term
参数等于 'buy'
,那么将显示带有 id="buy"
的块。如果 params 为空或 URL 没有 params,则显示带有 id="default-content"
的块。
还有一个问题:我需要 URL (utm_term
) 中的那个参数不等于某个单词,但只需要它。
因为现在如果 URL 有 utm_term=smth_buy
,我会看到 #default-content
,我会看到 #buy
。
有什么想法吗?
也许你应该使用正则表达式:
if (dynamicContent.match(/buy/)) {
$('#buy').show();
}
else {
$('#default-content').show();
}
如果不区分大小写:
if (dynamicContent.match(/buy/i)) {
$('#buy').show();
}
else {
$('#default-content').show();
}
(i
标志设置不区分大小写的模式,bUY
将与 BUY
相同匹配)
我有那个 jquery 脚本:
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
var dynamicContent = getParameterByName('utm_term');
$(document).ready(function() {
if (dynamicContent == 'buy') {
$('#buy').show();
}
else {
$('#default-content').show();
}
});
它是这样工作的:如果 URL 中的 utm_term
参数等于 'buy'
,那么将显示带有 id="buy"
的块。如果 params 为空或 URL 没有 params,则显示带有 id="default-content"
的块。
还有一个问题:我需要 URL (utm_term
) 中的那个参数不等于某个单词,但只需要它。
因为现在如果 URL 有 utm_term=smth_buy
,我会看到 #default-content
,我会看到 #buy
。
有什么想法吗?
也许你应该使用正则表达式:
if (dynamicContent.match(/buy/)) {
$('#buy').show();
}
else {
$('#default-content').show();
}
如果不区分大小写:
if (dynamicContent.match(/buy/i)) {
$('#buy').show();
}
else {
$('#default-content').show();
}
(i
标志设置不区分大小写的模式,bUY
将与 BUY
相同匹配)