Chrome-extensie om gebruiker door te verwijzen naar specifieke URL's

Ik wil een Chrome-extensie maken die in wezen controleert of het huidige domein in een lijst staat, zo ja, de gebruiker doorverwijst naar een andere URL, op een link klikt en vervolgens naar de aanvankelijk gewenste URL gaat.

Ik heb niet veel ervaring met Javascript of Chrome-extensies, maar dit lijkt eenvoudig genoeg voor een startersproject.

Wat ik wil is om een ​​bestand van deze structuur te hebben

urlregex1#redirecttourl1
urlregex2#redirecttourl2
.
.
.

en laat een chrome content_script elke URL analyseren en controleren of een van de reguliere expressies overeenkomt.

Als dit het geval is, moet het script op de een of andere manier de oorspronkelijke URL opslaan en vervolgens de gebruiker omleiden.

Kan iemand me de juiste richting aangeven om dit uit te voeren? Ik ben helemaal verdwaald tussen javascript-functies, chrome extensie api, ....

0
Hallo Kai kun je meer uitleggen hoe je dit hebt gedaan, ik ben in feite een mobiele ontwikkelaar die minder ervaring heeft met javascript, dit zal mijn eerste plugin zijn, kun je me hiermee helpen
toegevoegd de auteur DAMM108, de bron

1 antwoord

U moet de functionaliteit op uw achtergrondpagina instellen zodat deze op alle tabbladen werkt.

// add listener for all tabs
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
    var safesite = false;

    if (changeInfo === "loading") {
       //logic for checking white list, using tab.url

        if (!safesite) {
            chrome.tabs.update(tabId, { url: 'www.google.com' });
        }
    }
});

In wezen voeg je een gebeurtenislistener toe aan alle tabbladen. Wanneer het wordt geladen, controleert u om te zien of het op de witte lijst staat. Als het een op de zwarte lijst vermelde site is, leidt u deze om naar elke gewenste URL. U kunt ook een .html-bestand opnemen in de extensiemap om ze opnieuw te richten. Dit vuurt op alle tabbladen, inclusief de Web Inspector, dus misschien wilt u wat logica gebruiken om alleen HTTP-verzoeken te controleren.

Ook kan deze benadering de pagina met de zwarte lijst kort weergeven en vervolgens doorverwijzen naar de pagina blocked_url.html. De experimentele API, webRequest , moet de mogelijkheid bieden om het verzoek VOORAF TE filteren de pagina laden, maar u kunt deze niet uploaden naar de Chrome Web Store totdat deze onderdeel wordt van de officiële Chrome-API. Als het voor persoonlijk gebruik is, voel je dan vrij om het te gebruiken.

Nog een laatste tip voor ontwikkeling: je kunt alleen de achtergrond html zuiveren via de instellingenpagina Extensies (chrome://settings/extensionSettings). Open de drilldown-down voor uw extensie en u ziet 'Actieve weergaven inspecteren:' waar u kunt klikken op een koppeling naar elke extensie-specifieke pagina die u momenteel gebruikt. Als u dit doet, wordt de Web Inspector voor die pagina weergegeven.

Na veel krabben, kwam ik dat per ongeluk tegen en het is sindsdien levensreddend geweest.

4
toegevoegd
Bedankt, dit was precies de informatie die ik zocht!
toegevoegd de auteur Kai, de bron