Zbudowałem rozszerzenie Chrome, które to robi.
Uwaga: zbudowałem to tylko dla dwóch witryn - po prostu do cholery - w żadnym wypadku nie jest to profesjonalna jakość ™. Proszę, nie podpalaj mnie za gówniany kod :)
Edycja: Zaktualizowano do manifestu v2, który wprowadza pewne dodatkowe ograniczenia.
manifest.json
{
"name": "URL Redirect",
"version": "0.2",
"description": "Checks URL and redirects as required.",
"background": {
"page":"bg.html"
},
"manifest_version": 2,
"content_scripts": [
{
"matches": ["http://*/*", "https://*/*"],
"js": ["content.js"]
}
],
"permissions": ["tabs"]
}
bg.html
<html>
<script src="redirect.js"></script>
</html>
redirect.js
chrome.extension.onRequest.addListener(function(request, sender) {
chrome.tabs.update(sender.tab.id, {url: request.redirect});
});
content.js
var pattern=/\bBlocked/;
var viewtext_base_url = "http://viewtext.org/article?url=";
var newurl;
if (pattern.test(window.document.title)) // if it matches pattern defined above
{
newurl = viewtext_base_url + encodeURIComponent(window.location.href);
chrome.extension.sendRequest({redirect: newurl}); // send message to redirect
}
Aby to zainstalować, utwórz pliki o nazwach plików, jak wspomniano powyżej w bloku kodu.
Po utworzeniu wszystkich 3 plików kliknij Menu Chrome → Narzędzia → Rozszerzenia. Kliknij „+” w trybie programisty. Kliknij opcję Załaduj rozpakowane rozszerzenie i wskaż katalog, w którym przechowywane są pliki.
Edytuj pliki są wymagane, odinstaluj i ponownie zainstaluj rozszerzenie, jak wspomniano powyżej