打开(点击)“复杂”网址中的特定网址

时间:2018-05-23 13:15:04

标签: javascript url onclick mouseevent onclicklistener

我有一个复杂的字符串(URL)是一个链接。

如何在click打开该网址/字符串中的特定网址...而不是“父网址”?

父URL如下所示:

  

http://www.randomsite.com & randomtext & 我需要的网址

谢谢。

3 个答案:

答案 0 :(得分:0)

假设您的意思是从查询字符串中获取网址,例如http://www.randomsite.com?foo=bar&url=http://www.url-i-want.com

你可以这样做:

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 url = getParameterByName('url');

window.location.href = url;

参考:https://stackoverflow.com/a/901144/905653

答案 1 :(得分:0)

这是一个简单的解决方案



function getUrlVar(stringUrl, name) {
  for (var value of stringUrl.split("?")[1].split("&")) {
    var valueArr = value.split("=");
    if (valueArr[0] === name) {
      return valueArr[1];
    }
  }
  return false;
}

var complexUrl = "http://www.whatever.com?lang=en&url=http://www.anyurlwhatsoever.com&test=loremipsum";

console.log(getUrlVar(complexUrl, "test"));
console.log(getUrlVar(complexUrl, "lang"));
console.log(getUrlVar(complexUrl, "url"));
console.log(getUrlVar(complexUrl, "asdasd"));




答案 2 :(得分:0)

......差不多完成......! ; - )

但是......我会更具体地说':

ParentURL =网址1 + 随机文字 + 我想要的网址

我想要做的是......点击链接/ ParentURL 打开链接/ 网址 - 我想要 链接/ ParentURL(我认为最好的"建议"是......以及...指定'某种程度上'部分' URL1 ...以确保打开的窗口的URL将是 URL-I-want ,而不是URL1)!

谢谢。



function getUrlVar(stringUrl, name) {
  for (var value of stringUrl.split("?")[1].split("&")) {
    var valueArr = value.split("=");
    if (valueArr[0] === name) {
      return valueArr[1];
    }
  }
  return false;
}

var complexUrl = "http://www.whatever.com?lang=en&url=http://www.anyurlwhatsoever.com&test=loremipsum";

console.log(getUrlVar(complexUrl, "test"));
console.log(getUrlVar(complexUrl, "lang"));
console.log(getUrlVar(complexUrl, "url"));
console.log(getUrlVar(complexUrl, "asdasd"));