jQuery重定向到源url

时间:2012-01-05 09:10:28

标签: javascript jquery redirect

我想在点击按钮时将用户重定向到目标网址。目标URL是可变的,必须从当前页面URL参数“source”中读取:

例如,我有一个网址http://w/_l/R/C.aspx?source=http://www.google.com

当用户点击按钮时,他正在重定向到http://www.google.com

我如何用jQuery做到这一点?

7 个答案:

答案 0 :(得分:3)

首先你需要获取url param:source 这可以通过以下函数完成:

function GetParam(name) {
    return decodeURI(
        (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
    );
} 

// you can use it like 
var source = GetParam('source');
//then
window.location.href = source

答案 1 :(得分:0)

在按钮单击处理程序上,只需编写window.location.href = http://www.google.com

答案 2 :(得分:0)

获取url params :(从另一个stackoverflow问题复制):

var params= {};

document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function () {
    function decode(s) {
        return decodeURIComponent(s.split("+").join(" "));
    }

    params[decode(arguments[1])] = decode(arguments[2]);
});

window.location = params['source'];

答案 3 :(得分:0)

您需要解析查询字符串以获取变量源的值。 你不需要jQuery。

这样的简单函数就足够了:

function getFromQueryString(ji) {
    hu = window.location.search.substring(1);
    gy = hu.split("&");
    for (i = 0; i < gy.length; i++) {
        ft = gy[i].split("=");
        if (ft[0] == ji) {
            return ft[1];
        }
    }
}

location.href = getFromQueryString("source");

答案 4 :(得分:0)

使用here中的网址解析代码,使用此代码解析您的网址(这应该包含在您的文档中一次):

var urlParams = {};
(function () {
    var e,
        a = /\+/g,  // Regex for replacing addition symbol with a space
        r = /([^&=]+)=?([^&]*)/g,
        d = function (s) { return decodeURIComponent(s.replace(a, " ")); },
        q = window.location.search.substring(1);

    while (e = r.exec(q))
       urlParams[d(e[1])] = d(e[2]);
})();

然后执行此操作以重定向到源参数:

window.location.href = urlParams["source"];

答案 5 :(得分:0)

由于您使用的是jQuery框架,我会使用jQuery URL Parser plugin,它可以安全地解析和解码URL参数,片段......

你可以像这样使用它:

var source = $.url().param('source');
window.location.href = source;

答案 6 :(得分:-1)

你可以这样做,

<a id="linkId" href=" http://w/_l/R/C.aspx?source=http://www.google.com">Click me</a>


$('#linkId').click(function(e){
  var href=$(this).attr('href');
  var url=href.substr(href.indexof('?'))
  window.location =url;
  return false;   

});