Vetë Google Chrome po rindizet, çfarë duhet të bëj? Ringarkim i nxehtë i shtesës së Chrome

Shfletuesi Google Chrome Ato përdoren kudo, dhe për këtë arsye të gjithë kanë dëgjuar mirë për problemet që ndodhin me të. Në veçanti, ndodh të ngrijë plotësisht në momentin më të papërshtatshëm, gjë që kërkon një rindezje të menjëhershme. Tjetra, ne do t'ju tregojmë se si të përballeni shpejt dhe pa dhimbje me vështirësi të tilla.

Në kontakt me

Google Chrome, përveç avantazheve të tij, njihet edhe për atë se sa shpejt arrin të mbushë të gjithë RAM. Procesori ngarkohet menjëherë në kapacitet, dhe kompjuteri fillon të ngadalësohet tmerrësisht dhe të dërgojë njoftime te përdoruesi që kërkon ndihmë. Ju mund ta trajtoni problemin thjesht duke rifilluar aplikacionin. Kjo do të thotë, duke mbyllur dhe rihapur shfletuesin, siç bëjnë zakonisht përdoruesit. Por ekziston një mënyrë tjetër për të rivendosur dhe rivendosur shpejt programin.

Ai ndryshon nga i pari në shpejtësinë e funksionimit. Kjo metodë nuk është e njohur për të gjithë, megjithëse është shumë më e thjeshtë se një rindezje manuale. Pra, për të rifreskuar një shfletues të ngrirë, mund të futni komandën në shiritin e adresave chrome://restart. Për lehtësi më të madhe, mund ta ruani si faqeshënues dhe ta përdorni në raste kritike. Dhe ju mund ta bëni këtë si kjo:

1 . Krijoni një faqerojtës të çdo faqeje të rastësishme;

2. Klikoni mbi të klikoni me të djathtën miun dhe klikoni mbi butonin Ndryshimi»;


3. Kopjojeni komandën në rreshtin që shfaqet me nëntitullin URL chrome://restart, dhe në fushë” Emri» Futni çdo fjalë të përshtatshme ose grup karakteresh.

Është e rëndësishme vetëm të mos harroni se kur rinisni shfletuesin, të gjitha të dhënat e futura në shfletues mund të zhduken. hapni skedat. Prandaj, përpara se të rindizni, këshillohet të siguroheni që si rezultat i operacionit nuk do të humbasë asnjë koment ose mesazh i rëndësishëm i padërguar.

Një ditë më parë pata dëshirën të shkruaj një shtesë të thjeshtë për Google Chrome. Kam hasur në një problem që pas ndryshimeve në kodin shtesë, shfletuesi nuk e ringarkon automatikisht. Kjo e bën shumë të vështirë zhvillimin, sepse... pas çdo Cmd-S në redaktues, duhet të klikoni "Ringarkoni" në listën e shtesave dhe më pas të rifreskoni faqen për të rifilluar skriptet e përmbajtjes.


Pas disa kërkimeve, rezultoi se Chrome ofron të gjitha API-të e nevojshme për të zbatuar vetë një funksionalitet të tillë për zgjerimin e tij.


Zgjidhja e gatshme e ngulitur ndodhet në github.com/xpl/crx-hotreload, dhe në këtë artikull do t'ju tregoj se si zbatohet.


Ne përdorim API-në e skedarëve dhe të hyrjeve në drejtori për të marrë në mënyrë rekursive një listë skedarësh në një dosje:


const filesInDirectory = dir => premtim i ri(zgjidh => dir.createReader().readEntries(hyrje => Promise.all(entries.filter(e => e.name !== ".").hartë(e => e.isDirectory ? filesInDirectory (e) : Premtimi i ri (zgjidh => e.file (zgjidh))) .pastaj (skedarët => .concat (...skedarët)).pastaj (zgjidh)))

Ne gjenerojmë një vulë kohore "të përbërë" nga të gjitha vulat kohore të skedarëve të marrë dhe emrat e tyre:


const timestampForFilesInDirectory = dir => filesInDirectory(dir).pastaj (skedarët => files.map(f => f.emri + f.lastModifiedDate).join())

Kështu, ne mund të zbulojmë jo vetëm ndryshimet në skedarë, por edhe fshirjen/shtimin/riemërtimin e tyre.


Watchdog kontrollon për ndryshime çdo 1000ms:


const watchChanges = (dir, lastTimestamp) => ( timestampForFilesInDirectory (dir).pastaj (timestamp => ( if (!lastTimestamp || (lastTimestamp === timestamp)) (setTimeout (() => watchChanges (dir, vula kohore), 1000) // provoni sërish pas 1 sekondash ) tjetër ( ringarkoni () )))

const ringarkoni = () => ( chrome.tabs.query (( aktiv: e vërtetë, aktualeWindow: e vërtetë ), skeda => ( nëse (skedat) ( chrome.tabs.reload (tabs.id) ) chrome.runtime.reload ( ) )))

Ringarkimi i skedës thirret përpara runtime.reload, përndryshe nuk do të funksionojë - thirrja e runtime.reload ndalon ekzekutimin e skriptit. Por meqenëse rimbushja e skedave funksionon në mënyrë asinkrone, në fund gjithçka ringarkohet në rendin e duhur - megjithëse duket e palogjikshme në kod.


Epo, prekja e fundit është të hapni një roje që synon dosjen me kodin shtesë. Por ne e bëjmë këtë vetëm nëse shtesa është e ngarkuar në modalitetin e zhvilluesit, nëpërmjet "Ngarko shtesën e papaketuar":


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

Kështu, ne e shpëtojmë zhvilluesin nga nevoja që të shqetësohet me shkëputjen manuale të këtij vëzhguesi nga ndërtimi i prodhimit.

Së fundi

Kjo është në thelb ajo. Megjithatë, është plotësisht e paqartë se si të testohen gjëra të tilla. Nuk ka gjasa që ndonjë Selenium të ndihmojë këtu, apo çfarë? Reagimet janë të mirëseardhura.

Google Chrome ringarkon faqet. Si të shpëtojmë nga kjo?

Problemi, në parim, është shprehur në temë. Shfletuesi Google Chrome filloi të ringarkojë faqet automatikisht. Për shembull, unë po lexoj një postim në LiveJournal, dhe ai më shqyen dhe ringarkon faqen, duke më hedhur në krye të faqes. Çfarë lloj trukesh janë këto? Leximi i teksteve të gjata është bërë i papërshtatshëm. Si të heqësh qafe këtë ringarkim automatik të faqes?


Vadim | 24 qershor 2016, ora 14:49
provo të çaktivizosh chrome://flags/#enable-offline-auto-reload

Farxad | 14 Prill 2016, ora 00:50
Në skedën "Historia" në shfletuesin Google, kam kaos të plotë: përditësohet çdo 29-30 sekonda (e kam matur me qëllim!). Është e pamundur të "kërkosh dhe gjesh" diçka me qetësi atje. Hedh lart.
Ka zëra se këto janë "surpriza virusesh" nga shkarkime obsesive pa pagesë, arrogante nga interneti me nënshkrimin "mail.ru" (të cilat kanë "pushtuar" prej kohësh shfletuesin tim Firefox, duke prezantuar katrahura të ndryshme artistike që ngadalësojnë proceset; ata e përditësojnë spontanisht këtë Firefox, pavarësisht nga fakti se unë mbylla të gjitha llojet e "autoloads" nga Interneti në kompjuterin tim; "Kërkimi Google" u hoq nga të gjitha vendet "kërkuese" në shfletuesin Firefox).
Dhe këto "çarje" shqetësuese në shfletuesin e Google janë me shumë mundësi edhe rezultat i ARMIQËSISË konkurruese ndaj Google.

Farxad | 15 Mars 2016, ora 20:28
Me shumë mundësi, ky është një virus që, si "virusi i shkurtoreve" nga kartat flash, mund të fshihet shumë mirë. Shpikja e një përbindëshi tjetër moral, një "masharak" që kërkon ngushëllim vulgar në "sabotimin e fëmijëve".

Alek55sandr5 | 10 korrik 2015, ora 12:02
Së pari provoni rekomandimet përdoruesi i mëparshëm. Me siguri kjo duhet të ndihmojë. Nëse jo, rivendosni cilësimet e shfletuesit tuaj. Për ta bërë këtë, shkoni te cilësimet e shfletuesit tuaj dhe më pas klikoni në "Trego cilësimet e avancuara". Dhe në fund të dritares së cilësimeve, klikoni në butonin "Rivendosni cilësimet". Nëse asgjë nuk ju ndihmon, atëherë duhet të riinstaloni shfletuesin.