Extensie Chrome pentru a redirecționa utilizatorul pe adrese URL specifice

Vreau să construiesc o extensie cromă care verifică, în esență, dacă domeniul curent este într-o listă, dacă redirecționează astfel utilizatorul la o adresă URL diferită, îi permite să facă clic pe un link și apoi să meargă la adresa URL dorită inițial.

Nu am prea multă experiență cu extensiile Javascript sau crom, dar acest lucru pare destul de simplu pentru un proiect demarat.

Ceea ce vreau să fac este să am un dosar cu această structură

urlregex1#redirecttourl1
urlregex2#redirecttourl2
.
.
.

și aveți un crom content_script parse fiecare url și verificați dacă una dintre expresiile regulate se potrivește.

În acest caz, scriptul trebuie să salveze adresa URL originală și să redirecționeze utilizatorul.

Poate cineva să mă pună în direcția corectă cu privire la modul în care să pun în aplicare acest lucru? Sunt total pierdut între funcțiile javascript, extensia api crom, ....

0
Bună Kai puteți explica mai mult cum ați făcut acest lucru, eu sunt în principiu un dev mobil cu experiență mult mai puțin în javascript, Acesta va fi primul meu plugin puteți să mă ajute pe aceasta
adăugat autor DAMM108, sursa

1 răspunsuri

Va trebui să configurați funcționalitatea în pagina de fundal astfel încât să fie difuzată pe toate filele.

// 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' });
        }
    }
});

În esență, adăugați un ascultător de evenimente la toate filele. Când se încarcă, verificați dacă este afișată pe lista albă. Dacă este un site pe lista neagră, redirecționați-le către orice url doriți. De asemenea, puteți include un fișier .html în directorul de extensii pentru a le redirecționa la fel. Acest incendiu de pe toate filele, inclusiv Inspectorul Web, astfel încât ați putea dori să puneți în unele logică pentru a verifica doar cererile http (s).

De asemenea, această abordare ar putea să afișeze pentru scurt timp pagina neagră și apoi să vă redirecționeze către pagina blocked_url.html. API-ul experimental, webRequest , ar trebui să ofere posibilitatea de a filtra cererea înainte încărcarea paginii, dar nu veți putea să o încărcați în Magazinul web Chrome până când aceasta nu face parte din API-ul oficial Google Chrome. În cazul în care pentru uz personal, atunci nu ezitați să-l utilizați.

Un ultim sfat pentru dezvoltare: puteți depana doar background.html prin pagina de setări a extensiilor (chrome://settings/extensionSettings). Deschideți rubrica descendentă pentru extensia dvs. și veți vedea "Inspectați vizionările active:" unde puteți să faceți clic pe un link către paginile specifice fiecărei extensii pe care le-ați rulat în prezent. În acest fel veți afișa Inspectorul Web pentru acea pagină.

După ce mi-am zgâriat mult capul, am întâlnit-o accidental și de atunci a fost salvatorul vieții.

4
adăugat
Mulțumesc, aceasta a fost exact informația pe care o căutam!
adăugat autor Kai, sursa
JavaScript, România - Moldova
JavaScript, România - Moldova
254 participanți

Comunitatea Română JavaScript: github.com/js-ro Pentru confort, opriți notificările. Parteneri: @node_ro, @php_ro, @python_ro, @seo_ro, @RomaniaGroup, @ai_ro, @Grupuri_IT Offtop: @holywars_ro Joburi: @js_jobs_ro Sponsored with ❤️ by ciupacabra.com

JavaScript jobs România Moldova
JavaScript jobs România Moldova
109 participanți

Pentru confort opriți notificările. Vorbim despre posturi de muncă și freelance, proiecte proprii.