jep jep, kan huske det nu :) alert boksen er kun til et demonstrations script ... Hader dem også selv
Synes godt om
Slettet bruger
14. december 2002 - 13:03#8
pelkjaer>> Ja, men det var dog også en forfærdelig grim kode. Det er smartest at holde sig til konventionerne og undgå javascript-protokollen i href'en, hvis det overhovedet er muligt (hvilket det næsten altid er).
Hvorfor egentlig? -ikke at jeg sætter tvivl ved dine kompetencer, jeg er bare nysgerrig :)
Synes godt om
Slettet bruger
14. december 2002 - 13:22#10
Fordi det er en nødløsning til de yderste situationer. Et links HREF er beregnet til at skrive en adresse, derimod er linkets event-handlere (fx onClick) beregnet til JavaScript. Og hvis man gang på gang blander det sammen, ender hele koden langt ude på herrens mark. At kode godt er også et spørgsmål om at opstille koden, så den kan overskues og nemt ændres i. Derudover er der dem, der både skrive JS-kode i HREF og onClick, og så er det bare en omgang inkonsekvent skudder-mudder (det er det bedste udtryk, jeg kan komme på)... :)
Okay tak skal du ha'. Jeg mener bare at jeg engang læste en artikel hvorfor man ligeså godt kunne skrive java script:; i event handleren, og derved undlade en return false;, men kan jeg ikke finde den igen er det jo ligegyldigt =oD
Synes godt om
Slettet bruger
14. december 2002 - 13:31#12
Teoretisk set kan du jo godt bruge det, men jeg vil fraråde det, med mindre der ikke er en anden udvej.
Hvis man nu tænker over det er jeg ikke helt enig :) Hvorfor? Hvis det vil vil have bare er et null link, og vi bruger # samt en return false, hvad sker der så hvis brugeren ikke har javascript slået til? Well, siden hopper til toppen :)
Set fra den vinkel er <a href="java script:;" onclick=""> da bedre end # m. return false. Og den er altså også kortere end <a href="java script:void(0);" onclick=""> Right?
Helt beset burde vi vel egentlig skrive et fuldt link i eventhandleren efterfulgt at # og en return false; - så er vi da sikre på at brugere uden javascript får en side frem *G* Anyway, det er dog langt ude da næsten alle har javascript enabled.
Synes godt om
Slettet bruger
15. december 2002 - 19:57#17
Kortere er ikke nødvendigvis bedre! Og hvis brugeren ikke har slået javascript til, vil browseren jo heller ikke fortolke java script: og derfor gå til en side, der hedder "java script:;"
Synes godt om
Slettet bruger
15. december 2002 - 19:58#18
Du skal også holde dig fra void(0). I det hele taget: Brug HREF til det, den er beregnet til.
Helt ærligt - skal vi være rigtigt besværlige - kan jeg så ikke ha ret i at <a href="link.html#" onclick="function(); return false;">link</a> er den mest sikre null-link løsning?
Hvis nu det utænkelige sker at den bruger ikke har javascript slået til, kan han også navigere.
Synes godt om
Slettet bruger
16. december 2002 - 14:50#32
Hm, ikke enig, for # betyder jo også "den samme side". Så det er kun, hvis funktionen i onClick rent faktisk på den ene eller den anden måde fører brugeren videre til en anden side, at man kan anføre denne sides url i HREF'en. Og så skal man ikke skrive #.
<ole> Nikolajdu har peget på dette spm. og bedt mig uddybe overfor ham. Da jeg selv har bidraget med tåge i forskellig grad - efterhånden, som jeg selv har udviklet mig - er det vel meget rimeligt, jeg uddyber her :)
Til en start tillader jeg mig at antage, jeg ikke står alene med ønsket om at anvende et stykke værktøj til det formål, det er konstrueret til. Ønsker jeg at gøre noget andet, bruger jeg et andet stykke værktøj.
Et link er et stykke HTML-kode, beregnet til sidenavigation og bør derfor ikke anvendes til andet. En eventhandler er et stykke HTML-kode, beregnet til at afvikle JavaScript med.
<a href="http://www.eksperten">Til Eksperten</a> giver vældig god mening, da vi jo vil navigere til denne side.
<a href="java script:alert('davs');">Sig davs</a> <a href="java script:" onclick="alert('davs');">Sig davs</a> <a href="java script:void(0);" onclick="alert('davs');">Sig davs</a> <a href="#" onclick="alert('davs');return false">Sig davs</a> er noget 'vrøvl', man _kun_ skriver til ære for NS4.X, da den ikke modtog onclick-events på meget andet end links.
Er det absolut nødvendigt at understøtte NS4.X bør man bruge den sidste - ellers er det mest korrekte at skrive: <span onclick="alert('davs');">Sig davs</span> da vi jo ikke har nogen hensigt om at navigere. Med CSS/JS kan vi lave samme 'mouseevent-lir', som ved et link.
Noget andet gør sig gældende for: <a href="http://www.eksperten.dk" onclick="window.open(this.href,'newWin','width=500,height=300');return false;">Åben Eksperten</a> Her vil jeg nemlig åbne Eksperten i et popUp-vindue 'uden lir', dersom brugeren ikke har slået JS fra. Ellers navigerer vi blot til E på sædvanlig vis. Her ønsker jeg at bruge et link, fordi der _netop_ er tale om navigation.
Der er sådan set ikke noget 'ulovligt' i at bruge JS-pseudo-protokollen i et link's href. Det er der heller ikke i at skubbe sine hæmmorider på plads med Lillesøsters bideskinne - eller smørre hende en leverpostejsmad med toiletbørsten. Det er til gengæld noget frygtelig rod ... uagtet, det måske af og til kunne være fristende ;oD
Til gengæld er det _ikke_ lovligt at bruge JS-pseudo-protokollen i en event-handler.
Håber, dette kan kaste et lille Julelys over problematikken.
/med venlig JuleHilsen *<|:o) </bole>
Synes godt om
Slettet bruger
16. december 2002 - 16:26#35
Hvad faen olebole... jeg troede du havde lukket din bruger :)
Et langt større problem finder jeg det i øvrigt, at man kan logge ind på dette site - skrive et langt indlæg - trykke 'Udfør' .......... og få at vide, man skal logge sig ind for at skrive ...!
Er der dog ikke snart en eller anden, der kan se på E's nOOb-koder?
En lidt anden opfattelse har Al Sparber - respekteret Macromedia udvikler (har sådan set selv argumenteret for meget af det samme, det lyder jo logisk):
It's a cosmetic thing. Return False is JavaScript, so browsers with script enabled will not execute the href... no matter what is in there. Some people have loudly professed their dislike for seeing "javascript" in their status bars. Like happens so often when certain people are loud enough it gets picked up a gospel, but sometimes the whole story is not spread along with it. Now for the logical side of the question:
If all you need or want is a null link, then "javascript" is preferred. Why? Because browsers with script disabled will ignore the return false, exercise the anchor href, and... you guessed it-- jump to the top of the page.
What is really the issue here, is placing both a return false AND a real hyperlink on certain objects. That way, people with script disabled will get a page :-)
What kind of objects? Menu triggers, for instance, that operate a dhtml popup menu. If all that is on the trigger is a null link (javascript, #, or elmerfudd) then script-disabled browsers have no way to navigate anywhere.
Nej, Peter ... han og jeg kunne ikke være mere enige :o)
Læg mærke til forskellen i mine eksempler og hvad jeg skriver: Hvis jeg skal navigere, bruger jeg et link. Hvis jeg vil fyre noget JS af, bruger jeg en inline-container med en tilhørende event-handler.
På den måde tilgodeser jeg alle, der kan tilgodeses. Det er et spørgsmål om at holde sine koder 'rene' og bruge et stykke værktøj til dets formål ;o)
Nå phoenixv, det lader til at du har ret det meste af vejen :) Kun når vi vil ha' NN4 med bør man skrive <a href="java script:;" osv.>
Jeg kunne argumentere for det ang. nyere browsere også (kun for at undgå "gå til top" i ikke enables js browsere), men det vil jeg undlade - kan såmænd bedre lide Ole forslag. Istedet for det hensyn burde man henvise dem til en side med en tekst alá: "slå dog javascript til din tumpe". =oD
Her giver det ingen mening at bruge et link, da denne handling ikke kan laves begavet med et sideskift. Alert'ens besked _kunne_ jo gives på en anden side, man kunne returnere fra - hvorfor man kunne argumentere for, at det var et eksempel, hvor alternativ navigation også ville give mening.
Hvad angår havelågen (#), så smider den ganske rigtigt brugeren til toppen af siden. På den anden side er det brugeren, der har valgt at slå JS fra - formodentlig fordi hun er bange for sikkerhedshuller i forbindelse med JS. Hvis hun stædigt holder fast ved at bruge en browser med en lille snes alvorlige sikkerhedshuller - i stedet for at vælge en mere sikker - må hun zq tage det med. Det mener jeg ikke bør tvinge mig til at bruge HTML-værktøjer imod deres hensigt :)
/mvh
Synes godt om
Slettet bruger
17. december 2002 - 15:58#43
Uha, det var fornemt selskab! :)
Jeg vil dog mene, at links er gået hen og blevet klikbart aktive elementer og ikke mere kun navigationsværktøjer. Når en bruger ser et stykke blåt, understreget tekst (eller noget i den stil), vil han straks skelne det fra resten af teksten og se det som noget interaktivt. Og ikke kun i forbindelse med et sideskift. Men hvad ved jeg! :)
"Men hvad ved jeg! :)" Kære ven, jeg har jo gennem tiden forsøgt at gør mit til, det ikke er så lidt endda - men ikke alt i livet lykkes jo lige godt :)
Jeg skriver ellers ret tydeligt i mit indlæg (16/12-2002 16:24:46): "Med CSS/JS kan vi lave samme 'mouseevent-lir', som ved et link."
Kære phoenixv, jeg fornemmer, du er ved nogenlunde at pejle dig ind på, hvad et link er for noget. Derfor gribes jeg af en nagende tvivl om, hvad det så måtte være i mit indlæg, du ikke forstår. CSS, JS, 'mouseevent-lir' eller andre af de små sorte 'dimmere', vi andre benævner 'bogstaver'? :)
Nu skriver du selv: "Når en bruger ser et stykke blåt, understreget tekst ..." - og det får mig til at tænke på, om det skulle være CSS, du ikke kender til. Hvis du nogensinde undrer dig over, dine links adskiller sig væsentligt fra mange andres, kan jeg på det varmeste anbefale, du prøver at søge lidt på Eksperten efter 'CSS' - alternativt 'style'. Tager jeg ikke meget fejl, har emnet været oppe flere gange og endda så pædagogisk beskrevet, at det kun vil være et spørgsmål om få uger, før du har fanget grund-idéen.
Skulle det henne omkring 1. februar stadig volde dig væsentlige problemer, må du hellere end gerne spørge onkel Ole. Så skal vi nok finde frem til en måde at få et span til at ligne et link ... og for den sags skyld kan vi også ændre en knap eller et linket billede til noget, der ligner et link. Vi skulle jo nødigt forvirre vores stakkels brugere og bringe dem i tvil om, hvorvidt disse elementer nu også er interaktive eller blot statiske pynte ting *<|;oD
Så kan jeg iøvrigt se, det endnu ikke er lykkedes IDG at finde en udvikler i deres stald, der er på et niveau, som gør det muligt at forhindre, man bliver smidt af (og ens indlæg går tabt), når der trykkes 'Udfør'.
Det må da være piiiiiiiiiiiiinligt ud over alle grænser ...! Eller findes det ord bare ikke i det firma?
/mvh PS: Husk nu at trykke 'Ctrl+A' + 'Ctrl+C', inden du trykker 'Udfør', Ole ... det ville jo undre, om *noget* skulle gå glat :oP
Det var jo ham, fugleungen Phønix, der fik mig til at genopstå fra Helvedets flammer *LooOooOooL*
Godt, manden har humor =8-O
Synes godt om
Slettet bruger
18. december 2002 - 14:20#49
Hm... Jeg ved ikke helt hvordan man bedst svarer på sådan en omgang...
Jo, jeg kender da godt til CSS; det kan du forhåbentlig også se under mine besvarede spørgsmål. Og jo, man kan godt bruge tid på at style et span-element, så det ligner et link, men hvad er idéen, når der allerede findes et tag, der ikke kræver denne behandling. Og mht. min beskrivelse at et link, så er det jo "standarden" og også det, brugere er vant til. Læs fx Jakob Nielsens bog; her argumenterer han kraftigt for ikke at gå for langt væk fra gamle tiders konventioner og om-style alt på siden. Selvom det kan se smart ud.
"Men hvad ved jeg" var bare en afslutning, der ligesom understregede, at vi hver har vores mening, og der ikke er nogen, som har ret til at slå fast, at "sådan er det bare"...
Synes godt om
Slettet bruger
18. december 2002 - 14:22#50
Undskyld tonen, men jeg synes ikke, du kan konkludere, at jeg ikke ved noget, når jeg trods alt har brugt knap 600 dage herinde.
Kære phoenixv, hele mit indlæg var én lang joke, som jeg fejlagtigt troede - du med dit ellers temmelig gode kendskab til mig - fangede ... sorry. Det var den slags jokeri, vi i 'gamle dage' hyggede os voldsomt med i de lange vinternætter. Dengang blev der tudet lystigt af grin her på E ;o)
I princippet er det fløjtende ligegyldig, hvad du bruger til at modtage bruger-input, men jeg kan bare godt lide at bruge et link til det, det er lavet til - nemlig sidenavigation. Så foretrækker jeg at bruge andre 'værktøjer' til at udføre andre handlinger. Det mener jeg, gør min kode renere. Det gør måske ikke så meget i et enkelt tilfælde, men prøver man at holde det som et princip, er faren for, man laver noget rigtig skidt betydelig mindre. I øvrigt ikke en holdning, jeg står alene med - tværtimod.
Jeg føler mig i denne sag helt på linie med Hr. Nielsen (der uden sammenligning iøvrigt ofte vrøvler næsten ligeså meget som Olebole). Jeg argumeterer jo netop for "ikke at gå for langt væk fra gamle tiders konventioner". En væsentlig forskel på os er bare, at han har en tendens til kun at se en webside fra forsiden, hvor jeg prøver med en lidt mere 'hollistisk' vinkel. Derfor plæderer jeg for ikke at bruge et link til noget, det ikke er beregnet til - men bruge et andet HHTML-element på en måde, der netop ikke generer Hr. Nielsen. Nu skal vi jo heller ikke glemme, at diskussionen slet ikke var aktuel på den tid, hvor "gamle tiders konventioner" blev grundlagt. Der fandtes JS nemlig ikke og det eneste man derfor kunne, var at skifte side.
Min holdning er _netop_, at man ikke skal rode for meget ved gode, indarbejdede konventioner, efterhånden som teknologierne udvikler sig. Den udvikling har allerede bidraget med en guddommelig bunke koderod - og den udvikling vil det være rart at bremse. Det vil jeg forbeholde mig retten til at kæmpe for, til man lukker låget over mig ;o)
Til slut vil jeg atter udtrykke mit klare mismod over, min joke ikke blev opfattet. Jeg har længe anset dig for en af de få tilbageværende 'eksperter' - og en dygtig fyr med ædle hensigter om at pleje 'den gode kode' og lysten til at knokle med at nå målet via fantasifulde løsninger. Nogle ellers ofte savnede kvaliteter her og mange andre steder. Alene det faktum, at du gider læse Jakob Nielsen taler herfor og er al ære værd ... omend jeg stadig finder, han af og til vrøvler en smule :)
/mvh, ønsket om en glædelig Jul og fred på jorden (og Eksperten) *<|:o)
Vi tillod os at forsøge at besvare et af livets store spørgsmål ud fra lidt gætteri og diverse lottosedler. Da jeg ikke vandt kontaktede jeg Lille Ole, som så (som du kan se) i vanlig stil blamerer sig med hollistiske ingangsvinkler og hjemmesmurte leverpostejshakkere.
Resultatet står lige ovenfor, men det bør koges ned ti en god fond og sies godt og grundigt.
Jeg er udmærket klar over, at du ikke mente det så hårdt, som du sagde det, selvom jeg synes den med CSS var at gå en smule over stregen... Men det er jo også irrelevant, så længe jeg nu ved, hvad der var meningen! :) Jeg har det vist med ikke at forstå ironien, når jeg ikke lige selv fyrer den af...
Men ja, god jul til dig; håber stadig du vil se igennem fingre med "børnehaven" og vende tilbage - i det mindste bare til JavaScript-kategorien, som jeg synes er blevet helt fin igen. Vi mangler bare en lige så aktiv Jakoba, som han var før, og sådan nogle som Jumper og dig, Olebole.
Synes godt om
Slettet bruger
18. december 2002 - 16:44#59
totaliorden>> Undskyld, jeg er vist blevet en detalje-fetichist!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.