Nieprawidłowy kod: co oznacza href = "#"?

Gdy zobaczysz href = "#" w kodzie na żywo na stronie internetowej, oznacza to, że osoba, która napisała stronę, popełniła błąd. Nigdy nie powinieneś widzieć href = "#" w rzeczywistym kodzie źródłowym strony internetowej, ponieważ sam # jest w rzeczywistości nieprawidłowy i bez znaczenia.

Za każdym razem, gdy dołączasz JavaScript do linku, czy to w ten sposób lub używając dyskretnego odpowiednika, zawsze musisz wziąć pod uwagę tych, którzy z jakiegokolwiek powodu nie mają włączonej obsługi JavaScript. The zwróć false na końcu mojego powyższego przykładu uniemożliwia użycie href, jeśli JavaScript działa, ale href jest nadal używany, jeśli z jakiegokolwiek powodu JavaScript nie działa. Href musi zatem zawierać rzeczywistą prawidłową wartość na podstawie tego, gdzie link ma zabierać osoby, które nie mają dostępnego JavaScript. Ponieważ osoba, która napisała dla ciebie JavaScript, nie wie, gdzie chcesz, aby te osoby zostały zabrane, właśnie wstawiła # w kodzie, w którym musisz zastąpić prawdziwy adres.

instagram viewer

# Jest poprawny w atrybucie href pod warunkiem, że nie jest to jedyny znak w wartości. Tam, gdzie po znaku # następują dodatkowe znaki, te dodatkowe znaki są wartością atrybutu id w innym miejscu w bieżąca strona internetowa, a strona przejdzie do wyświetlania tagu zawierającego ten identyfikator jak najbliżej górnej części przeglądarki rzutnia. Na przykład skoczy do

Znak # jest niepoprawny jako ostatni znak href, ponieważ sugeruje, że chcesz przeskoczyć do identyfikatora na stronie, ale wartość id do skoku nie została określona. Czynność, którą przeglądarka powinna podjąć w tym przypadku, jest niezdefiniowana, jednak większość po prostu wróci na górę bieżącej strony.

Co więc robisz, jeśli JavaScript, który chcesz załączyć, jest taki, że nie ma alternatywy dla osób bez JavaScript? Cóż, w takim przypadku nie chcesz ich bez JavaScript aby zobaczyć link w ogóle, ponieważ jeśli jest dla nich widoczny, to niektórzy z nich klikną na niego i nie masz nic, co chciałbyś dla nich zrobić, a to będzie po prostu mylące. Dlatego rozwiązaniem jest, aby link był widoczny tylko dla osób z włączoną obsługą JavaScript, a sposobem jest dodanie linku do strony internetowej za pomocą JavaScript.

Tylko tam, gdzie jest dodawany do strony internetowej za pomocą JavaScript. Możesz być pewien, że wszyscy klikający link zrobią to włącz obsługę JavaScript i tat, dlatego kod doSomething () będzie działał, a href = "#" będzie zignorowany. Wtedy i tylko wtedy ma sens pozostawienie znaku # w tym miejscu w kodzie, ponieważ wymagany jest atrybut href aby niektóre przeglądarki mogły zaakceptować kod jako prawidłowy link i jeśli wiesz, że będą go widzieć tylko osoby, które go zobaczą JavaScript włączony, wiesz również, że nikt nigdy nie zostanie zabrany do miejsca, na które wskazuje href, więc może zawierać wszystko bez znaczenia i tak # jest tak samo wartościowy jak każdy i jest z pewnością lepszy niż href = "javascript:" (który jest konstrukcją, której nigdy nie należy używać bez względu na to, czy coś następuje po dwukropku, czy nie).

instagram story viewer