В настоящее время я работаю в компании со следующими средами:
- local.example.com
- staging.example.com
- утвержденный тест.example.com
- www.example.com
- * и несколько других, которые я не могу перечислить
Теперь из-под моего контроля буквальнотысячи страниц на каждом из этих серверов (они огромны), и существует множество абсолютно определенных ссылок.И даже если бы я мог исправить их в коде при следующем обновлении кода, это вернуло бы их обратно.
Итак, я пытаюсь создать расширение Chrome, которое позволит мне определять, когда ссылка выводит меня из среды.Потому что я сыт по горло beign переключаться между ними, не осознавая.
На данный момент у меня есть это:
function currentURL() {
var result = {};
var regexParse = new RegExp('([a-z\-0-9]{2,63})\.([a-z\.]{2,5})$');
var urlParts = regexParse.exec(window.location.hostname);
result.domain = urlParts[1];
result.type = urlParts[2];
result.subdomain = window.location.hostname.replace(result.domain + '.' + result.type, '').slice(0, -1);;
return result.subdomain;
}
function nextURL(url) {
var result = {};
var regexParse = new RegExp('([a-z\-0-9]{2,63})\.([a-z\.]{2,5})$');
var urlParts = regexParse.exec(url);
result.domain = urlParts[1];
result.type = urlParts[2];
result.subdomain = window.location.hostname.replace(result.domain + '.' + result.type, '').slice(0, -1);;
return result.subdomain;
}
, и я получаю атрибут href
URL-адреса и сравниваю с текущим URL-адресом.
Моя проблема в этом.Иногда переданный URL-адрес ссылки просто:
/ next-page
или, возможно, исходящая ссылка:
//newexample.com
Итак, как вы можете видеть, существует несколько вариантов того, каким может быть следующий URL.
JavaScript не мои сильные стороны, поэтому я спрашиваю вас, ребята: как лучше всего убедиться, что ссылка, которую я нажимаю, не является внешней.