Как получить имя домена/хоста реферера с помощью JavaScript?
Я знаю, что могу получить имя хоста текущей страницы, просто сделав:
var myhostname = location.hostname;
но как я могу получить имя хоста реферер? Я могу получить реферер по
var referrer = document.referrer;
но, к сожалению, нет document.referrer.hostname
доступно в JavaScript. Как я могу получить это значение?
пример того, где это полезно, если кто-то нажимает ссылку на google.com. я хочу быть в состоянии восстановить google.com из реферера (не страницы и строки запроса).
7 ответов:
на разбор.
document.referrer.split( '/' );
будет вам близко. Или взгляните на этоhttp://blog.stevenlevithan.com/archives/parseuri
если реферер приходит из браузера, он будет вменяемым-но на всякий случай вы хотите более надежный парсинг.
function parseURL(url) { var a=document.createElement('a'); a.href=url; return a.hostname; }
Это довольно старый вопрос, тем не менее, это может помочь любому последователей.
можно использовать
var referrer = new URL(document.referrer).hostname
.см.https://developer.mozilla.org/en-US/docs/Web/API/URL.URL.
вы можете использовать регулярное выражение для извлечения этих данных.
string.match(/^http([s]?)://([a-zA-Z0-9-_\.]+)(:[0-9]+)?/);