Κατάλογος άρθρου
- 1 Η ρίζα του προβλήματος: Δεν είναι ότι το έγραψες λάθος, αλλά ότι οι καιροί σε έχουν εγκαταλείψει
- 2 Γιατί το Android ανέλαβε πρώτο δράση;
- 3 Λύση: Ολοκληρώστε το σε τρία δευτερόλεπτα
- 4 Αυτό στην πραγματικότητα είναι μια «εκκαθάριση»
- 5 Τι πρέπει να προσέξουν οι προγραμματιστές;
- 6 Συμπέρασμα: Πίσω από μια γραμμή κώδικα κρύβεται η τεχνολογική εξέλιξη
- 7 Τελική περίληψη
Νομίζατε ότι ο ιστότοπος ήταν μια χαρά και ο κώδικας JS σταθερός σαν γέρος, αλλά μόλις αλλάξατε την έκδοση του προγράμματος περιήγησης για κινητά, η σελίδα "χτυπούσε";
Το πιο εξωφρενικό είναι: ο υπολογιστής λειτουργεί κανονικά,AndroidΑλλά το τηλέφωνο σε αγνοεί εντελώς.
Δεν είναι αστείο, είναι ένα πρόβλημα του προγράμματος περιήγησης που συμβαίνει σιωπηλά.
Η ρίζα του προβλήματος: Δεν είναι ότι το έγραψες λάθος, αλλά ότι οι καιροί σε έχουν εγκαταλείψει

Στην πραγματικότητα, όταν οι περισσότεροι προγραμματιστές βλέπουν αυτό το φαινόμενο, η πρώτη τους αντίδραση είναι: Υπάρχει κάποιο σφάλμα στη σύνταξη JS; Μήπως δεν έχει φορτωθεί το DOM; Ή μήπως τα δικαιώματα είναι αποκλεισμένα;
Το αποτέλεσμα; Κανένα από αυτά. Ο πραγματικός ένοχος αποδείχθηκε ότι ήταν η αρχαία γραφή:
<script language="javascript">
Αυτή η γραμμή κώδικα ήταν δημοφιλής πριν από 20 χρόνιααπεριόριστος, το οποίο μπορεί να δει κανείς σε όλα τα εκπαιδευτικά βίντεο.
但在 Έκδοση 119 του ChromiumΜετά από αυτό, η Google αποχαιρέτησε αυτή την «παλαιά γραμματική»: αρκεί να βλέπεις language Χαρακτηριστικά, το πρόγραμμα περιήγησης θα τα αγνοήσει επιλεκτικά και δεν θα μπει καν στον κόπο να τα εξηγήσει.
Για λόγους συμβατότητας, το Chrome σε υπολογιστές εξακολουθεί να "το φροντίζει προσωρινά". Αλλά το Chrome σε κινητά Android είναι η "πρωτοπορία" και ενεργοποίησε αμέσως αυτήν τη στρατηγική καθαρισμού.
Έτσι εμφανίστηκε:Ο υπολογιστής λειτουργεί καλά, αλλά το κινητό τηλέφωνο δεν λειτουργείΤο πρόβλημα.
Γιατί το Android ανέλαβε πρώτο δράση;
Κάποιοι μπορεί να ρωτήσουν: Γιατί κυκλοφόρησε πρώτο το Android Chrome;
Είναι πολύ απλό, επειδή ο ρυθμός αναβάθμισης του κινητού τερματικού είναι ταχύτερος και η Google προωθεί τις πληροφορίες τόσο γρήγορα όσο η αποστολή κόκκινων φακέλων.
σε 2023 10 年 月 日 31, Η έκδοση Chrome 119 για Android έχει διατεθεί πλήρως μέσω του Google Play.
Παρόλο που η έκδοση για υπολογιστές χρησιμοποιεί επίσης τον πυρήνα του Chromium, είναι σύνηθες να "κρατάτε ένα χέρι βοήθειας" για να αποφύγετε την ξαφνική καταστροφή ενός μεγάλου αριθμού εσωτερικών εταιρικών συστημάτων.
Έτσι, αν εξακολουθείτε να χρησιμοποιείτε τη φράση "language=javascript", σε τηλέφωνα Android ισοδυναμεί με τη σύνταξη ενός διαφανούς κώδικα, τον οποίο το πρόγραμμα περιήγησης αγνοεί άμεσα.
Λύση: Ολοκληρώστε το σε τρία δευτερόλεπτα
Ευτυχώς, η λύση για αυτό το πρόβλημα είναι απίστευτα απλή. Απλώς αντικαταστήστε αυτήν τη γραμμή:
<script>
Ή λίγο πιο επίσημα:
<script type="text/javascript">
Χρειάζονται μόνο λίγα δευτερόλεπτα για να το τροποποιήσετε και το Android Chrome θα το εκτελέσει αμέσως.
Υπενθυμίζεται ότι μετά την τροποποίησηΑναγκαστική ανανέωση προσωρινής μνήμηςΔιαφορετικά, το πρόγραμμα περιήγησης ενδέχεται να εξακολουθεί να διαβάζει το παλιό αρχείο. Η μέθοδος είναι επίσης απλή:
- Υπολογιστής: Ctrl + F5
- Τηλέφωνο: Ρυθμίσεις → Απόρρητο → Εκκαθάριση προσωρινής μνήμης
Μόλις ανανεωθεί, ο κώδικας ανανεώνεται σε δευτερόλεπτα και η σελίδα αρχίζει να εκτελείται ξανά.
Αυτό στην πραγματικότητα είναι μια «εκκαθάριση»
Σε τελική ανάλυση, το πρόβλημα αυτή τη φορά δεν είναι το πρόβλημα της ίδιας της JS, αλλάΗ εποχή του παλαιού κώδικα front-end.
Αυτό που πρέπει να κάνουν οι κατασκευαστές προγραμμάτων περιήγησης είναι πολύ σαφές: να καθαρίσουν σταδιακά την ξεπερασμένη σύνταξη και να αναγκάσουν τους προγραμματιστές να κάνουν ενημερώσεις.
Είναι σαν αυτοκινητόδρομος: τα τρίκυκλα και τα τρακτέρ επιτρεπόταν να κινούνται δίπλα-δίπλα στο παρελθόν, αλλά τώρα για λόγους ασφαλείας πρέπει να τα οδηγούν έξω. language="javascript" Αυτό το τρακτέρ δεν έπρεπε να βρίσκεται στη λωρίδα ταχείας κυκλοφορίας.
Τι πρέπει να προσέξουν οι προγραμματιστές;
Αυτό το περιστατικό μας χρησιμεύει ως μια πολύ ρεαλιστική υπενθύμιση:
Τα πρότυπα κωδικοποίησης είναι πραγματικά σημαντικά Ο κώδικας που πιστεύετε ότι "απλώς λειτουργεί" ενδέχεται να σταματήσει να λειτουργεί σε μια συγκεκριμένη έκδοση.
Το περιβάλλον δοκιμών πρέπει να συμβαδίζει με τον ρυθμό Μην κάνετε απλώς κλικ και δημοσιεύετε στο Chrome στον υπολογιστή σας. Πρέπει να το ελέγξετε σε κινητές συσκευές και σε διαφορετικές εκδόσεις προγραμμάτων περιήγησης.
Παρακολούθηση αρχείων καταγραφής ενημερώσεων προγράμματος περιήγησης Κάθε φορά που αναβαθμίζεται το Chromium, υπάρχουν πολλές "Απαλλαγές και Αφαίρεση". Αυτές δεν είναι διακοσμητικές, αλλά θα καταστρέψουν πραγματικά την επιχείρησή σας.
Συμπέρασμα: Πίσω από μια γραμμή κώδικα κρύβεται η τεχνολογική εξέλιξη
Πολλοί άνθρωποι παραπονιούνται ότι η Google είναι «ανήθικη», αλλά από μια ανώτερη οπτική γωνία, αυτή είναι στην πραγματικότητα μια αναπόφευκτη διαδικασία που προωθεί ολόκληρο το οικοσύστημα του Ιστού.
Η εξάλειψη παλαιών χαρακτηριστικών και η αναγκαστική τήρηση προτύπων από τους προγραμματιστές είναι η επανάληψη του τεχνολογικού πολιτισμού.
Αν συνεχίσουμε να είμαστε συμβατοί με όλη την ξεπερασμένη σύνταξη, το front end αργά ή γρήγορα θα μετατραπεί σε ένα δοχείο ετοιμόρροπου συνονθυλεύματος.
Επομένως, όταν επισκευάζουμε αυτό το μικρό λάκκο, στην πραγματικότητα συμμετέχουμε σε ένα «κίνημα καθαρισμού του τεχνολογικού πολιτισμού».
Τα επόμενα χρόνια, θα υπάρχουν όλο και περισσότερες παρόμοιες παγίδες, και το μόνο αντίδοτο είναιΣυμβαδίστε με την εποχή και υιοθετήστε τα πρότυπα.
Τελική περίληψη
- Οι υπολογιστές μπορούν να το εκτελέσουν, αλλά το Android όχι, επειδή
<script language="javascript">Καταργημένο. - 从 Χρώμιο 119 Το Android Chrome πρωτοστατεί στην παράλειψη
languageΙδιότης<script>块. - Η λύση είναι: χρήση
<script>Ή<script type="text/javascript">. - Μετά την τροποποίηση, ανανεώστε την προσωρινή μνήμη και το πρόβλημα θα αποκατασταθεί.
- Οι προγραμματιστές θα πρέπει πάντα να δίνουν προσοχή στις ενημερώσεις του προγράμματος περιήγησης και να αναπτύσσουν τη συνήθεια να γράφουν κώδικα με τυποποιημένο τρόπο.
Έτσι, την επόμενη φορά που θα αντιμετωπίσετε ένα παράξενο σφάλμα όπου ο υπολογιστής λειτουργεί καλά αλλά το τηλέφωνο όχι, καλό θα ήταν να σκεφτείτε το εξής: Υπάρχει κάποιο «κειμήλιο από τον περασμένο αιώνα» κρυμμένο στον κώδικά σας;
Ιστολόγιο Hope Chen Weiliang ( https://www.chenweiliang.com/ ) κοινοποίησε το άρθρο "Γιατί αποτυγχάνει ο κώδικας JS στο Android Chrome; Αποκαλύπτεται ο λόγος μη εκτέλεσης και μια λύση με ένα κλικ!", το οποίο μπορεί να σας φανεί χρήσιμο.
Καλώς ήρθατε να μοιραστείτε τον σύνδεσμο αυτού του άρθρου:https://www.chenweiliang.com/cwl-33236.html
