Μη έγκυρος κώδικας: Τι σημαίνει "href =" # ";

Όταν βλέπετε href = "#" σε ζωντανό κώδικα σε μια ιστοσελίδα, αυτό σημαίνει ότι το άτομο που έγραψε τη σελίδα έκανε λάθος. Δεν πρέπει να βλέπετε ποτέ τον href = "#" στον πραγματικό κώδικα πηγής μιας ιστοσελίδας, επειδή το # από ​​μόνο του είναι πραγματικά άκυρο και χωρίς νόημα.

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

instagram viewer

Το A # ισχύει σε ένα χαρακτηριστικό href υπό τον όρο ότι δεν είναι ο μόνος χαρακτήρας της τιμής. Όπου οι # ακολουθούνται από πρόσθετους χαρακτήρες, αυτοί οι επιπλέον χαρακτήρες είναι η τιμή ενός χαρακτηριστικού id σε άλλο σημείο του την τρέχουσα ιστοσελίδα και η σελίδα θα μεταβεί για να εμφανίσει την ετικέτα που περιέχει αυτή την ταυτότητα όσο το δυνατόν πιο κοντά στην κορυφή του προγράμματος περιήγησης θέα. Για παράδειγμα θα μεταβείτε στο

Ένας # χαρακτήρας δεν είναι έγκυρος ως ο τελευταίος χαρακτήρας του href, δεδομένου ότι σημαίνει ότι θέλετε να μεταβείτε σε ένα id μέσα στη σελίδα, αλλά η τιμή του id για να μεταβείτε στο δεν έχει καθοριστεί. Η ενέργεια που πρέπει να ακολουθήσει ο περιηγητής σε αυτή την περίπτωση είναι απροσδιόριστη, ωστόσο τα περισσότερα απλά θα μεταβούν στο επάνω μέρος της τρέχουσας σελίδας.

Τι κάνετε λοιπόν εάν το JavaScript που θέλετε να επισυνάψετε είναι τέτοιο που δεν υπάρχει εναλλακτική λύση για εκείνους χωρίς JavaScript; Λοιπόν σε αυτή την περίπτωση δεν θέλετε όσους δεν έχουν JavaScript για να δεις τον σύνδεσμο καθόλου, αν είναι ορατό σε αυτούς, τότε μερικοί από αυτούς θα κάνουν κλικ σε αυτό και δεν έχεις τίποτα που θέλεις να κάνεις γι 'αυτούς και αυτό θα είναι απλά συγκεχυμένο. Επομένως, η λύση είναι να διασφαλιστεί ότι ο σύνδεσμος είναι ορατός μόνο για όσους έχουν ενεργοποιημένη τη JavaScript και ο τρόπος για να γίνει αυτό είναι να προσθέσετε τη σύνδεση στην ιστοσελίδα χρησιμοποιώντας JavaScript.

Μόνο όπου το προστίθεται στην ιστοσελίδα χρησιμοποιώντας JavaScript μπορεί να είστε σίγουροι ότι όλοι οι χρήστες θα κάνουν κλικ στο σύνδεσμο έχουν ενεργοποιημένη τη JavaScript και tat επομένως ο κωδικός doSomething () θα τρέξει και θα είναι ο href = "#" αγνοήθηκε. Τότε και μόνο τότε έχει νόημα οτιδήποτε αφήνει το # σε αυτό το σημείο στον κώδικα αφού απαιτείται το χαρακτηριστικό href προκειμένου ορισμένα προγράμματα περιήγησης να αποδεχθούν τον κώδικα ως έγκυρο σύνδεσμο και από όπου γνωρίζετε ότι οι μόνοι που θα δουν τον σύνδεσμο θα έχουν JavaScript σας επέτρεψε επίσης να ξέρετε ότι κανείς δεν θα καταλήξει, συνεπώς, στην πραγματικότητα να μεταφερθεί στον τόπο που δείχνει το href και έτσι μπορεί να περιέχει οτιδήποτε χωρίς να το πειράζει και έτσι # είναι τόσο καλή τιμή όσο οποιαδήποτε και είναι σίγουρα καλύτερη από το href = "javascript:" (που είναι ένα κατασκεύασμα που δεν πρέπει ποτέ να χρησιμοποιηθεί ανεξάρτητα από το αν κάτι ακολουθεί το παχύ έντερο ή όχι).

instagram story viewer