Το ίδιο το Google Chrome κάνει επανεκκίνηση, τι πρέπει να κάνω; Άμεση επαναφόρτωση της επέκτασης Chrome

Πρόγραμμα περιήγησης Google ChromeΧρησιμοποιούνται παντού, και επομένως όλοι έχουν ακούσει καλά για τα προβλήματα που παρουσιάζονται με αυτό. Συγκεκριμένα, συμβαίνει να παγώσει εντελώς την πιο ακατάλληλη στιγμή, κάτι που απαιτεί άμεση επανεκκίνηση. Στη συνέχεια, θα σας πούμε πώς να αντιμετωπίσετε γρήγορα και ανώδυνα τέτοιες δυσκολίες.

Σε επαφή με

Το Google Chrome, εκτός από τα πλεονεκτήματά του, είναι γνωστό και για το πόσο γρήγορα καταφέρνει να γεμίσει ολόκληρο ΕΜΒΟΛΟ. Ο επεξεργαστής φορτώνεται αμέσως σε πλήρη χωρητικότητα και ο υπολογιστής αρχίζει να επιβραδύνει τρομερά και να στέλνει ειδοποιήσεις στον χρήστη που ζητά βοήθεια. Μπορείτε να αντιμετωπίσετε το πρόβλημα απλά επανεκκινώντας την εφαρμογή. Δηλαδή, κλείνοντας και ανοίγοντας ξανά το πρόγραμμα περιήγησης, όπως συνήθως κάνουν οι χρήστες. Αλλά υπάρχει ένας άλλος τρόπος για γρήγορη επαναφορά και επαναφορά του προγράμματος.

Διαφέρει από το πρώτο ως προς την ταχύτητα της λειτουργίας. Αυτή η μέθοδος δεν είναι γνωστή σε όλους, αν και είναι πολύ πιο απλή από μια χειροκίνητη επανεκκίνηση. Έτσι, για να ανανεώσετε ένα παγωμένο πρόγραμμα περιήγησης, μπορείτε να εισαγάγετε την εντολή στη γραμμή διευθύνσεων chrome://restart. Για μεγαλύτερη ευκολία, μπορείτε να το αποθηκεύσετε ως σελιδοδείκτη και να το χρησιμοποιήσετε σε κρίσιμες περιπτώσεις. Και μπορείτε να το κάνετε ως εξής:

1 . Δημιουργία σελιδοδείκτη οποιασδήποτε τυχαίας σελίδας.

2. Κάντε κλικ σε αυτό κάντε δεξί κλικποντίκι και κάντε κλικ στο κουμπί Αλλαγή»;


3. Αντιγράψτε την εντολή στη γραμμή που εμφανίζεται με τον υπότιτλο URL chrome://restartκαι στο χωράφι» Ονομα» Εισαγάγετε οποιαδήποτε βολική λέξη ή σύνολο χαρακτήρων.

Απλώς είναι σημαντικό να μην ξεχνάτε ότι όταν κάνετε επανεκκίνηση του προγράμματος περιήγησης, όλα τα δεδομένα που εισάγονται στο πρόγραμμα περιήγησης ενδέχεται να εξαφανιστούν. ανοιχτές καρτέλες. Επομένως, πριν από την επανεκκίνηση, συνιστάται να βεβαιωθείτε ότι ως αποτέλεσμα της λειτουργίας δεν θα χαθεί κανένα σημαντικό μη απεσταλμένο σχόλιο ή μήνυμα.

Τις προάλλες είχα την επιθυμία να γράψω μια απλή επέκταση για το Google Chrome. Αντιμετώπισα ένα πρόβλημα ότι μετά από αλλαγές στον κωδικό επέκτασης, το πρόγραμμα περιήγησης δεν τον επαναφορτώνει αυτόματα. Αυτό κάνει την ανάπτυξη πολύ δύσκολη, γιατί... Μετά από κάθε Cmd-S στο πρόγραμμα επεξεργασίας, πρέπει να κάνετε κλικ στο "Επαναφόρτωση" στη λίστα των επεκτάσεων και, στη συνέχεια, να ανανεώσετε τη σελίδα για να επανεκκινήσετε τα σενάρια περιεχομένου.


Μετά από κάποια έρευνα, αποδείχθηκε ότι ο Chrome παρέχει όλα τα απαραίτητα API για να εφαρμόσετε μόνοι σας τέτοια λειτουργικότητα για την επέκτασή του.


Η έτοιμη ενσωματωμένη λύση βρίσκεται στο github.com/xpl/crx-hotreload, και σε αυτό το άρθρο θα σας πω πώς εφαρμόζεται.


Χρησιμοποιούμε το File and Directory Entries API για να λάβουμε αναδρομικά μια λίστα αρχείων σε έναν φάκελο:


const filesInDirectory = dir => new Promise(resolve => dir.createReader().readEntries(entries => Promise.all(entries.filter(e => e.name !== ".").map(e => e.isDirectory ? filesInDirectory (e) : new Promise (resolve => e.file (resolve))) .then (αρχεία => .concat (...αρχεία)).

Δημιουργούμε μια "σύνθετη" χρονική σήμανση από όλες τις χρονικές σημάνσεις των ληφθέντων αρχείων και τα ονόματά τους:


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

Έτσι, μπορούμε να εντοπίσουμε όχι μόνο αλλαγές σε αρχεία, αλλά και τη διαγραφή/προσθήκη/μετονομασία τους.


Το Watchdog ελέγχει για αλλαγές κάθε 1000ms:


const watchChanges = (dir, lastTimestamp) => ( timestampForFilesInDirectory (dir) 1000) // ξαναπροσπαθήστε μετά από 1 δευτερόλεπτα ) αλλιώς ( επαναφόρτωση () ) ))

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

Η επαναφόρτωση της καρτέλας καλείται πριν από το runtime.reload, διαφορετικά δεν θα λειτουργήσει - η κλήση του runtime.reload σταματά την εκτέλεση του σεναρίου. Αλλά επειδή η επαναφόρτωση καρτελών λειτουργεί ασύγχρονα, στο τέλος όλα επαναφορτώνονται με τη σωστή σειρά - αν και φαίνεται παράλογο στον κώδικα.


Λοιπόν, η τελευταία πινελιά είναι να εκκινήσετε ένα φύλακα που στοχεύει στον φάκελο με τον κωδικό επέκτασης. Αλλά αυτό το κάνουμε μόνο εάν η επέκταση φορτωθεί σε λειτουργία προγραμματιστή, μέσω "Φόρτωση μη συσκευασμένης επέκτασης":


chrome.management.getSelf(self => ( if (self.installType === "ανάπτυξη") ( chrome.runtime.getPackageDirectoryEntry(dir => watchChanges(dir)) )))

Έτσι, γλιτώνουμε τον προγραμματιστή από το να χρειάζεται να ασχοληθεί με τη μη αυτόματη αποκοπή αυτού του φύλακα από την κατασκευή παραγωγής.

Τελικά

Αυτό είναι βασικά. Ωστόσο, είναι εντελώς ασαφές πώς να δοκιμάσετε τέτοια πράγματα. Είναι απίθανο ότι οποιοδήποτε σελήνιο θα βοηθήσει εδώ, ή τι; Τα σχόλια είναι ευπρόσδεκτα.

Το Google Chrome επαναφορτώνει σελίδες. Πώς να απαλλαγείτε από αυτό;

Το πρόβλημα, καταρχήν, αναφέρεται στο θέμα. Google BrowserΤο Chrome άρχισε να φορτώνει ξανά τις σελίδες αυτόματα. Για παράδειγμα, διαβάζω κάποια ανάρτηση στο LiveJournal και με ξεσκίζει και φορτώνει ξανά τη σελίδα, ρίχνοντάς με στην κορυφή της σελίδας. Τι είδους κόλπα είναι αυτά; Η ανάγνωση μεγάλων κειμένων έχει γίνει άβολη. Πώς να απαλλαγείτε από αυτήν την αυτόματη επαναφόρτωση σελίδας;


Vadim | 24 Ιουνίου 2016, 14:49
δοκιμάστε να απενεργοποιήσετε το chrome://flags/#enable-offline-auto-reload

Farxad | 14 Απριλίου 2016, 00:50
Στην καρτέλα "Ιστορικό" στο πρόγραμμα περιήγησης Google, έχω απόλυτο χάος: ενημερώνεται κάθε 29-30 δευτερόλεπτα (το μέτρησα επίτηδες!). Είναι αδύνατο να "ψάξετε και να βρείτε" κάτι ήρεμα εκεί. Ρίχνει προς τα πάνω.
Υπάρχουν φήμες ότι πρόκειται για «εκπλήξεις από ιούς» από ιδεοληπτικές δωρεάν, αλαζονικές λήψεις από το Διαδίκτυο με την υπογραφή «mail.ru» (που έχουν «απασχολήσει» από καιρό το πρόγραμμα περιήγησής μου στο Firefox, εισάγοντας διάφορα καλλιτεχνικά χάλια που επιβραδύνουν τις διαδικασίες. ενημερώνουν αυθόρμητα αυτόν τον Firefox, παρά το γεγονός ότι έκλεισα όλα τα είδη "αυτόματης φόρτωσης" από το Διαδίκτυο στον υπολογιστή μου.
Και αυτά τα ενοχλητικά "κράκερ" στο πρόγραμμα περιήγησης Google είναι πιθανότατα και το αποτέλεσμα της ανταγωνιστικής ΕΧΘΡΟΤΗΤΑΣ έναντι της Google.

Farxad | 15 Μαρτίου 2016, 20:28
Αυτό είναι πιθανότατα ένας ιός που, όπως ο "ιός συντόμευσης" από κάρτες flash, μπορεί να κρυφτεί πολύ καλά. Η εφεύρεση ενός ακόμη ηθικού τέρατος, ενός «φάρσας» που αναζητά χυδαία παρηγοριά στο «παιδικό σαμποτάζ».

Alek55sandr5 | 10 Ιουλίου 2015, 12:02
Δοκιμάστε πρώτα τις συστάσεις προηγούμενο χρήστη. Σίγουρα αυτό θα πρέπει να βοηθήσει. Και αν όχι, τότε επαναφέρετε τις ρυθμίσεις του προγράμματος περιήγησής σας. Για να το κάνετε αυτό, μεταβείτε στις ρυθμίσεις του προγράμματος περιήγησής σας και, στη συνέχεια, κάντε κλικ στο "Εμφάνιση σύνθετων ρυθμίσεων". Και στο κάτω μέρος του παραθύρου ρυθμίσεων, κάντε κλικ στο κουμπί "Επαναφορά ρυθμίσεων". Εάν τίποτα δεν σας βοηθά, τότε πρέπει να εγκαταστήσετε ξανά το πρόγραμμα περιήγησης.