动态内容取决于url params

时间:2016-07-05 11:51:03

标签: jquery url dynamic params utm

我有那个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();
    }
});

它的工作方式如下:如果网址中的utm_term param等于'buy',则会显示id="buy"的阻止。如果params为空或URL没有params,则会显示id="default-content"的阻止。

还有一个问题:我需要URL(utm_term)中的参数不等于某个单词,但只需拥有它。

因为现在如果网址有utm_term=smth_buy,我会看到#default-content,我会看到#buy

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

也许你应该使用regexpr:

if (dynamicContent.match(/buy/)) {
    $('#buy').show();
}

else {
    $('#default-content').show();
}

如果您希望它不区分大小写:

if (dynamicContent.match(/buy/i)) {
    $('#buy').show();
}

else {
    $('#default-content').show();
}

i标志设置模式不区分大小写,bUY将与BUY匹配)