Мне удалось сделать что-то похожее по концепции через скрипты содержимого и внедрить скрипт на целевой странице. Это не изменяет ссылки на страницах, но вместо этого перенаправляет пользователя на новый URL, если на него не ссылаются с определенного хоста. Я сделал что-то подобное в файле с именем script.js:
if (document.referrer != "") // Check if referrer isn't empty
{
var referringURL = document.referrer;
var referrerArray = referringURL.split('/'); // Split the referrer into an array.
if (referrerArray[2] != "plus.google.com") // Grab the hostname and compare
{
location.replace("https://plus.google.com/u/1/"+referrerArray[3]); // Redirect with XXXX
}
}
И что-то похожее на это будет в манифесте:
"content_scripts": [
{
"matches": [
"https://plus.google.com/*",
"http://plus.google.com/*"
],
"js": ["script.js"]
}
]
Я не тестировал этот конкретный код, но он очень похож на тот, который я использовал, который работал довольно хорошо. Это не очень элегантно, я знаю, так что с тех пор я переключился на webRequest / webRequestBlocking, который, на мой взгляд, лучше, но я все еще пытаюсь выяснить, как делать исключения через рефералов. К сожалению, пока не повезло.