ОТКРЫТЬ (по щелчку) конкретный URL со «сложного» URL - PullRequest
0 голосов
/ 23 мая 2018

У меня есть сложная строка (URL), которая является ссылкой.

Как ОТКРЫТЬ на click определенный URL из этого URL / строки ... НЕ «родительский» URL?

Родительский URL выглядит следующим образом:

http://www.randomsite.com & случайный текст & URL, который мне нужен

.

Спасибо.

Ответы [ 3 ]

0 голосов
/ 23 мая 2018

Вот простое решение

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"));
0 голосов
/ 04 июня 2018

... Почти готово ...!; -)

Но ... Я буду более «конкретным»:

ParentURL = URL1 + random-text + URL-I-want

Что я хочу сделать, это ... щелкнуть ссылку / ParentURL для открыть ссылку / URL-Я хочу , НЕ ссылка / ParentURL (я думаю, что лучшим "предложением" является ... "как-то" указать "часть" URL1.... чтобы убедиться, что URL-адрес открытого окна будет URL-я-хочу , а НЕ 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"));
0 голосов
/ 23 мая 2018

Предполагается, что вы имеете в виду получить URL-адрес из строки запроса, например: 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;

ref: https://stackoverflow.com/a/901144/905653

...