Доступ к экспериментальному API WebRequest к запросам "реферер / суперзапрос"? - PullRequest
1 голос
/ 30 декабря 2011

Я успешно перенаправляю веб-запросы с использованием экспериментального API в Chrome - мне интересно, есть ли способ получить запрос / URL-адрес документа, который вызвал загрузку URL-адреса.Т.е. URL-адрес HTML-документа, который вызвал, скажем, CSS-файл для загрузки.Что-то вроде псевдокода:

function onBeforeRequest(details) {
  var incoming = details.url;
  var referrer = referrer_from_details(details);
  var outgoing;
  if(referrer.match(someRE)) {
    outgoing = "one place";
  } else {
    outgoing = "somewhere else";
  }
  return { redirectUrl: outgoing };
}

Мне не хватает только функции referrer_from_details.Самое близкое, что я мог найти, - это пройти через идентификаторы табуляции / фрейма, чтобы добраться до URL, но это не только показалось неправильным, но и асинхронным (AFAIK).

Кто-нибудь знает, каквывести реферера?

1 Ответ

1 голос
/ 24 января 2012

Вы можете получить доступ к заголовку Referer в details.requestHeaders:

function(details) {
  for (var i = 0; i < details.requestHeaders.length; ++i) {
  if (details.requestHeaders[i].name === 'Referer') {
       alert(details.requestHeaders[i].value);
       break;
  }
}
return {requestHeaders: details.requestHeaders};
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...