Sam Google Chrome se ponovno pokreće, što da radim? Vruće ponovno učitavanje proširenja za Chrome

preglednik Google Chrome Koriste se posvuda, pa su svi dobro čuli o problemima koji se s njim javljaju. Konkretno, događa se da se potpuno zamrzne u najneprikladnijem trenutku, što zahtijeva trenutno ponovno pokretanje. Zatim ćemo vam reći kako se brzo i bezbolno nositi s takvim poteškoćama.

U kontaktu s

Google Chrome, osim po svojim prednostima, poznat je i po tome koliko brzo uspijeva popuniti cijeli radna memorija. Procesor se trenutno napuni do kraja, a računalo počinje užasno usporavati i bacati obavijesti korisniku tražeći pomoć. Problem možete riješiti jednostavnim ponovnim pokretanjem aplikacije. Odnosno zatvaranjem i ponovnim otvaranjem preglednika, kako to korisnici obično rade. Ali postoji još jedan način za brzo resetiranje i vraćanje programa.

Od prvog se razlikuje u brzini operacije. Ova metoda nije poznata svima, iako je puno jednostavnija od ručnog ponovnog pokretanja. Dakle, da biste osvježili zamrznut preglednik, možete unijeti naredbu u adresnu traku krom://ponovno pokretanje. Radi veće udobnosti, možete ga spremiti kao oznaku i koristiti u kritičnim slučajevima. A možete to učiniti ovako:

1 . Napravite knjižnu oznaku bilo koje nasumične stranice;

2. Kliknite na njega desni klik mišem i kliknite na gumb Promijeniti»;


3. Kopirajte naredbu u redak koji se pojavljuje s podnaslovom URL-a krom://ponovno pokretanje, au polju " Ime» Unesite bilo koju prikladnu riječ ili skup znakova.

Važno je samo ne zaboraviti da kada ponovno pokrenete preglednik, svi podaci uneseni u preglednik mogu nestati. otvorene kartice. Stoga, prije ponovnog pokretanja, preporučljivo je osigurati da kao rezultat operacije neće biti izgubljen nijedan važan neposlan komentar ili poruka.

Neki dan sam imao želju napisati jednostavno proširenje za Google Chrome. Naišao sam na problem da nakon promjena koda proširenja, preglednik ga ne učitava ponovno automatski. To jako otežava razvoj, jer... nakon svakog Cmd-S u uređivaču, morate kliknuti “Reload” na popisu ekstenzija, a zatim također osvježiti stranicu za ponovno pokretanje skripti sadržaja.


Nakon nekog istraživanja pokazalo se da Chrome pruža sve potrebne API-je da sami implementirate takvu funkcionalnost za svoje proširenje.


Gotovo ugrađeno rješenje nalazi se na github.com/xpl/crx-hotreload, au ovom članku ću vam reći kako se to provodi.


Koristimo File and Directory Entries API za rekurzivno dobivanje popisa datoteka u mapi:


const filesInDirectory = dir => new Promise(resolve => dir.createReader().readEntries(entries => Promise.all(entries.filter(e => e.name !== ".").map(e => e.isDirectory? filesInDirectory (e) : novo obećanje (razriješi => e.file (razriješi))) .zatim (datoteke => .concat (...datoteke)).zatim (razriješi)))

Generiramo "složenu" vremensku oznaku iz svih vremenskih oznaka primljenih datoteka i njihovih naziva:


const timestampForFilesInDirectory = dir => filesInDirectory(dir).then(files => files.map(f => f.name + f.lastModifiedDate).join())

Dakle, možemo otkriti ne samo promjene u datotekama, već i njihovo brisanje/dodavanje/preimenovanje.


Watchdog provjerava promjene svakih 1000 ms:


const watchChanges = (dir, lastTimestamp) => ( timestampForFilesInDirectory (dir).then (timestamp => ( if (!lastTimestamp || (lastTimestamp === timestamp)) ( setTimeout (() => watchChanges (dir, timestamp), 1000) // pokušaj ponovno nakon 1s ) else ( reload () ) )) )

const reload = () => ( chrome.tabs.query (( active: true, currentWindow: true ), tabs => ( if (tabs) ( chrome.tabs.reload (tabs.id) ) chrome.runtime.reload ( )))

Ponovno učitavanje kartice poziva se prije runtime.reload, inače neće raditi - pozivanje runtime.reload zaustavlja izvršavanje skripte. Ali budući da ponovno učitavanje kartica radi asinkrono, na kraju se sve ponovno učitava ispravnim redoslijedom - iako izgleda nelogično u kodu.


Pa, posljednji dodir je pokretanje psa čuvara usmjerenog na mapu s ekstenzijskim kodom. Ali to radimo samo ako je proširenje učitano u načinu rada za razvojne programere, putem "Učitaj raspakirano proširenje":


chrome.management.getSelf(self => ( if (self.installType === "development") ( chrome.runtime.getPackageDirectoryEntry(dir => watchChanges(dir)) )))

Stoga štedimo programera da se ne mora mučiti s ručnim izrezivanjem ovog psa čuvara iz proizvodne građe.

Konačno

To je u biti to. Potpuno je nejasno, međutim, kako testirati takve stvari. Malo je vjerojatno da će neki selen tu pomoći, ili što? Povratne informacije su dobrodošle.

Google Chrome ponovno učitava stranice. Kako se riješiti ovoga?

Problem je, u principu, naveden u temi. Google preglednik Chrome je automatski počeo ponovno učitavati stranice. Na primjer, čitam neki post na LiveJournalu, a on me otkine i ponovno učita stranicu, bacajući me na vrh stranice. Kakvi su to trikovi? Čitanje dugih tekstova postalo je nezgodno. Kako se riješiti ovog automatskog ponovnog učitavanja stranice?


Vadim | 24. lipnja 2016. u 14:49
pokušajte isključiti chrome://flags/#enable-offline-auto-reload

Farxad | 14. travnja 2016., 00:50
Na kartici “History” u Google pregledniku imam potpuni kaos: ažurira se svakih 29-30 sekundi (namjerno sam mjerio!). Nemoguće je tamo nešto mirno “tražiti i naći”. Baci prema gore.
Kruže glasine da se radi o “virusnim iznenađenjima” opsesivnih besplatnih, arogantnih samoskidanja s interneta s potpisom “mail.ru” (koji su već dugo “okupirali” moj preglednik Firefox, unoseći razne umjetničke gluposti koje usporavaju procese; oni spontano ažuriraju ovaj Firefox, unatoč tome što sam zatvorio sve vrste "autoloada" s interneta na svom računalu; "Google pretraživanje" je izbačeno sa svih mjesta "pretraživanja" u pregledniku Firefox).
A ovi uznemirujući "krekeri" u Google pregledniku najvjerojatnije su i rezultat njegovog konkurentskog NEPRIJATELJSTVA prema Googleu.

Farxad | 15. ožujka 2016. u 20:28 sati
Najvjerojatnije se radi o virusu koji se, poput “virusa prečaca” s flash kartica, može vrlo dobro sakriti. Izum još jednog moralnog čudovišta, "šaljivdžije" koji vulgarnu utjehu traži u "sabotaži djece".

Alek55sandr5 | 10. srpnja 2015. u 12:02
Prvo isprobajte preporuke prethodni korisnik. Ovo bi sigurno trebalo pomoći. Ako nije, resetirajte postavke preglednika. Da biste to učinili, idite na postavke preglednika, a zatim kliknite na "Prikaži napredne postavke." I na samom dnu prozora s postavkama kliknite na gumb "Poništi postavke". Ako vam ništa ne pomaže, morate ponovno instalirati preglednik.