Avatar billede jace Nybegynder
23. september 2007 - 21:35 Der er 49 kommentarer og
2 løsninger

Validering af hjemmeside

Go aften alle.

Jeg har arbejdet en masse med at få valideret min side, og jeg har da også fået rettet en masse fejl, men der er desværre et par stykker tilbage, som jeg simpelthen ikke aner hvad jeg skal gøre med...

Min side:
http://jacobworsoe.dk/
Avatar billede thesurfer Nybegynder
23. september 2007 - 21:41 #1
Ret doctypen til:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Avatar billede thesurfer Nybegynder
23. september 2007 - 21:44 #2
Du må ikke bruge TARGET på A-tag'et (links):

<a target=_top href="http://jacobworsoe.dk/">
        <div id="banner">
        </div>
    </a>

Man kan muligvis ikke putte et DIV i et A.. så det skal muligvis gøres sådan her:


        <div id="banner">
<a target=_top href="http://jacobworsoe.dk/"><img src="dit´_banner_billede"></a></div>

Husk at fjerne en evt background-image, hvis du vælger at bruge img..
Avatar billede jace Nybegynder
23. september 2007 - 21:44 #3
Okay, men det hjælper ikke på de fejl som validatoren giver?
Avatar billede thesurfer Nybegynder
23. september 2007 - 21:46 #4
Evt sådan her:

    <a href="http://jacobworsoe.dk/"><img src="gfx/banner.jpg" border="1" width="894" height="125"></a>
Avatar billede thesurfer Nybegynder
23. september 2007 - 21:47 #5
Jo, det gør :-)

Nu kan du komme til at rette fejlene, da validatoren nu forstår hvilken doctype du vil bruge.. så ved den HVAD du må bruge..

Nu skal du bare til at rette fejlene..
Avatar billede thesurfer Nybegynder
23. september 2007 - 21:48 #6
Rettelse (jeg har lige sat border til "0"):

  <a href="http://jacobworsoe.dk/"><img src="gfx/banner.jpg" border="0" width="894" height="125"></a>
Avatar billede thesurfer Nybegynder
23. september 2007 - 21:51 #7
Og så er det ikke <a..><hx>...</hx></a>, hvor "x" er mellem 1 og 8, men:

<hx><a..>...</a></hx>

Med andre ord: headeren skal være uden om linket, og ikke inde i linket..
Avatar billede thesurfer Nybegynder
23. september 2007 - 21:55 #8
Heh.. fik selv lavet en fejl.. Man må ikke bruge border i Strict.. og så manglede der en ALT..

  <a href="http://jacobworsoe.dk/"><img src="gfx/banner.jpg" width="894" height="125" alt="banner"></a>
Avatar billede thesurfer Nybegynder
23. september 2007 - 21:58 #9
Jeg er ikke sikker på, at man må have headere i spans, da spans er inline elementer, og headere vist er block elementer, ligesom med divs..
Avatar billede thesurfer Nybegynder
23. september 2007 - 22:01 #10
Når du bruger "&" i et link, skal du bruger "&amp;" i stedet for.. det bliver fortolket som bare "&"..

Eksempel på forkert brug:

<a href="http://www.youtube.com/results?search_query=eurodance&search_type=tag">Youtube.com</a>

Eksempel på korrekt brug:

<a href="http://www.youtube.com/results?search_query=eurodance&amp;search_type=tag">Youtube.com</a>
Avatar billede jace Nybegynder
23. september 2007 - 22:04 #11
Okay :)

Har fået rette det med mit banner således:

<div id="banner">
<a href="http://jacobworsoe.dk/"><img src="gfx/banner.jpg" class="banner-img" alt=""></a>
</div>

CSS ser så således ud:

#banner {
    width: 894px;
    height: 125px;
    border: 0px;
}

.banner-img {
    width: 894px;
    height: 125px;
    border: 0px;
}

Det ser ud til at virke.

Jeg har også rettet det med mine hx tags, men den brokker sig stadig :/
Avatar billede thesurfer Nybegynder
23. september 2007 - 22:05 #12
Husk at læse alle indlæggene igennem.. :-)
Avatar billede olebole Juniormester
23. september 2007 - 22:05 #13
<ole>

I 4.01-Transitional må man gerne bruge target, men ikke i Strict. Det kan man komme udenom ved:
    <a href="side.html" onclick="window.open(this.getAttribute('href'), '_blank');return false">Link</a>

- og nej, span-elementer kan ikke indeholde h-elementer  :)

/mvh
</bole>
Avatar billede thesurfer Nybegynder
23. september 2007 - 22:06 #14
Brug "alt" attributten til at forklare hvad billedet indeholder, for dem der ikke kan/vil se billeder..

Eksempel:

<div id="banner">
<a href="http://jacobworsoe.dk/"><img src="gfx/banner.jpg" class="banner-img" alt="banner" title="banner"></a>
</div>
Avatar billede thesurfer Nybegynder
23. september 2007 - 22:07 #15
olebole> Så fik vi det på plads.. nu skal jeg bare huske det.. :-)
Avatar billede jace Nybegynder
23. september 2007 - 22:11 #16
Okay, har også rettet det & i links... Så er vi nede på 23 fejl :)
Avatar billede thesurfer Nybegynder
23. september 2007 - 22:15 #17
Det kan godt være, at "textarea" er et reserveret ord i en class..? men tror det ikke..

Dvs., at den fortolker class="textarea" som start-tag til elementet <textare></textarea>..

Det kan være at olebole kan besvare det spørgsmål..
Avatar billede thesurfer Nybegynder
23. september 2007 - 22:18 #18
Denne del findes ikke i Strict: wrap=soft

Se CSS til word-wrap: http://www.blooberry.com/indexdot/css/properties/text/wordwrap.htm
Avatar billede jace Nybegynder
23. september 2007 - 22:22 #19
Det med ikke at bruge span fik lige 4 fejl væk fra listen. Så er vi på 19.

Har også sat alt og title på billedet. Det er vist også godt at bruge til SEO...

Jeg håber jeg har husket at læse alle jeres gode råd :)
Avatar billede thesurfer Nybegynder
23. september 2007 - 22:25 #20
By the way:

Block elementer: http://htmlhelp.com/reference/html40/block.html
Inline elementer: http://htmlhelp.com/reference/html40/inline.html

Husk: Block elementer må ikke placeres i inline elementer.

Det skulle gerne reducere antallet af fejl i fremtiden.. :-)
Avatar billede thesurfer Nybegynder
23. september 2007 - 22:27 #21
Du bruger stadigvæk "target".. :-)

Du kan erstatte target="et-eller-andet-her" med:

onclick="window.open(this.getAttribute('href'), 'et-eller-andet-her');return false"
Avatar billede jace Nybegynder
23. september 2007 - 22:28 #22
Ja, den er nok god lige at skrive bag øret :)

Men den fejl har jeg vist ikke lavet flere af tror jeg?
Avatar billede thesurfer Nybegynder
23. september 2007 - 22:35 #23
Du afslutter det omkransende div, før du afslutter din form, hvilket er en fejl, og skal rettes..

Forkert kode:

    <div id="ShoutAdd">
        <div class="form-text">
            <form action="shout-submit.php" method="post">
            <input type="text" name="user" size="9" class="textarea">&nbsp;&nbsp; Navn
            <br><br>
            <input type="text" name="captcha" size="9" class="textarea">&nbsp;&nbsp; Hvad er to + tre?
            <br><br>
            <textarea wrap=soft cols="15" rows="2" name="shout" class="textarea"></textarea>&nbsp;&nbsp; Besked
        </div>
        <br>
        <input class="button" type="submit" value="Shout !" name="submit">
        </form>
    </div>



Tags skal afsluttes i den omvendte rækkefølge, end da de blev oprettet..

Eksempel

<A>
<B>
<C>
<D>
<E>
<F>

</F>
</E>
</D>
</C>
</B>
</A>

Bogstaverne er ikke faktiske tags, men noget jeg har skrevet for at illustrere meningen.. :-)
Avatar billede jace Nybegynder
23. september 2007 - 22:35 #24
Så er target fjernet :D

Jeg havde ikke lige regnet med at et firma som chart.dk laver kode som ikke kan valideres :)
Avatar billede thesurfer Nybegynder
23. september 2007 - 22:37 #25
chart.dk har bare brugt noget kode, der ikke kan valideres til Strict, som du har valgt.. det kan sagtens valideres til Transitional, som du ikke har valgt.. :-)

Du mangler at fjerne border="0" fra dine IMG tags..
Avatar billede thesurfer Nybegynder
23. september 2007 - 22:38 #26
Og lav lige en søgning på "target".. jeg kan se mindst 3 steder hvor der står "target".. :-)
Avatar billede jace Nybegynder
23. september 2007 - 23:13 #27
Jeg tror lige jeg prøver at arbejde i Transitional - synes det er fedest at chart.dk kode kan valideres som de har lavet den. Der står vist også at man ikke må ændre i deres kode.

Fik den derefter valideret ved at indsætte type='' i disse to linjer:

<script src='http://www.chart.dk/js/unified.asp' type=''></script>
<script language='javascript' type=''>

Det er selvfølgelig også at ændre i deres oprindelige kode, men jeg ved ikke hvordan man ellers kan validere siden.

Jeg ved ikke om det ændrer scriptets funktion at gøre det?
Avatar billede jace Nybegynder
23. september 2007 - 23:14 #28
Alle targets burde være fjernet. Kan i hvert fald ikke finde nogen hvis man søger koden igennem.
Avatar billede olebole Juniormester
23. september 2007 - 23:16 #29
Forkert! Sådan:

<script src='http://www.chart.dk/js/unified.asp' type='text/javascript'></script>
<script type='text/javascript'>
Avatar billede jace Nybegynder
23. september 2007 - 23:18 #30
Okay, og det ændrer ikke på scriptets funktion?
Avatar billede olebole Juniormester
23. september 2007 - 23:18 #31
- og det kan du roligt ændre uden at krænke deres rettigheder. Det er nærmere Chart, der krænker andres gode koder med deres ... ehhhhhhhh ... 'kode'  ;o)
Avatar billede olebole Juniormester
23. september 2007 - 23:19 #32
- og nej, det ændrer ikke på funktionen
Avatar billede jace Nybegynder
23. september 2007 - 23:29 #33
Hehe, okay... Det kan være man så ligefrem kan få den valideret som Strict nu :)
Avatar billede jace Nybegynder
23. september 2007 - 23:31 #34
Lige bortset fra 5 trælse fejl :/
Avatar billede olebole Juniormester
23. september 2007 - 23:47 #35
Du kunne gøre din form valid med:

<div id="ShoutAdd">
<form action="shout-submit.php" method="post">
    <div class="form-text">
        <input type="text" name="user" size="9" class="textarea">&nbsp;&nbsp; Navn
        <br><br>
        <input type="text" name="captcha" size="9" class="textarea">&nbsp;&nbsp; Hvad er to + tre?
        <br><br>
        <textarea cols="15" rows="2" name="shout" class="textarea"></textarea>&nbsp;&nbsp; Besked
    </div>
    <div><input class="button" type="submit" value="Shout !" name="submit"></div>
</form>
</div>

Dette giver jo ingen mening:

<noscript>
<a href="http://www.chart.dk/ref.asp?id=109668" onclick="window.open(this.getAttribute('href'), 'http://www.chart.dk/ref.asp?id=109668');return false">
<img src="http://cluster.chart.dk/chart.asp?id=109668" alt="Chart.dk">
</a>
</noscript>

window.open holder jo ingenlunde i et noscript-tag, der kun afvikles, hvis JavaScript er slået fra  ;o)
Avatar billede olebole Juniormester
23. september 2007 - 23:49 #36
- og så er der stadig et billede i bunden med border på:
    <a href="admin.php"><img src="gfx/admin-button.jpg" alt="admin-button" border="0"></a>
Avatar billede jace Nybegynder
24. september 2007 - 00:01 #37
Så er den nye form indsat. Vil det sige at det ikke er muligt at bruge en <br> inde i det form-element?

Jeg har selvfølgelig fjernet det javascript inde i <noscript> - det var lidt fjollet :)

Den åbner stadig i et nyt vindue selvom det er fjernet, så det er perfekt.

Borderen i bunden er også fjernet og lagt om i CSS filen.
Avatar billede olebole Juniormester
24. september 2007 - 00:07 #38
Så mangler du lige at proppe dit link i noscript-tagget ind i et div. Inline-elementer må ikke ligge 'frit' i dokumentet under Strict. De skal lægges i et block-element ... f.eks. et div  ;o)
Avatar billede olebole Juniormester
24. september 2007 - 00:08 #39
- det forklarer vist også dit spørgsmål i din seneste kommentar  :)
Avatar billede jace Nybegynder
24. september 2007 - 00:18 #40
Jeps, det besvarede mit spørgsmål til fulde :)

Så skulle den faktisk være klar til validering...

Hvis I begge to lige smider et svar, så får I lige 30 point hver.
Avatar billede thesurfer Nybegynder
24. september 2007 - 00:19 #41
Ok :-)
Avatar billede olebole Juniormester
24. september 2007 - 00:24 #42
40-20 ville jeg være bedre tilfreds med. Thesurfer tog trods alt hele den indledende fase - og store dele af resten. Så afspejles indsatsen en lille smule bedre i pointene  :)
Avatar billede jace Nybegynder
24. september 2007 - 00:42 #43
Så er det ordnet.

Men I skal nu begge to have tak for hjælpen :)
Avatar billede olebole Juniormester
24. september 2007 - 01:49 #44
Selvtak - og tak for points  ;o)
Avatar billede thesurfer Nybegynder
24. september 2007 - 10:27 #45
olebole og jace> Takker :-)


jace> Du mangler lige at rette nogle småfejl..

* Target! - Du er ikke sluppet helt af med dem.. :-)
Line 17, Column 12: there is no attribute "TARGET".
        <a target=_top href="http://jacobworsoe.dk/"><img src="gfx/banner.jpg" class="


* Afslutning af script:
Line 150, Column 57: end tag for "SCRIPT" omitted, but its declaration does not permit this.
    <div id="copyright-text">© 2004-2007 Jacobworsoe.dk</div>

Du mangler at afslutte med "</script>" før dine "<br>"-linier


* WRAP:
Line 130, Column 18: there is no attribute "WRAP".
            <textarea wrap=soft cols="15" rows="2" name="shout" class="textarea"></textar..

Løsningen finder du muligvis i: 23/09-2007 22:18:41


* Afslutter et DIV for meget.. rod i dine divs..?:
Line 176, Column 5: end tag for element "DIV" which is not open.
</div>

Find ud af, om du har lige antal af <DIV> og </DIV>..

:-)
Avatar billede thesurfer Nybegynder
24. september 2007 - 10:32 #46
Hmm.. Det ser ud til at http://www.blooberry.com/indexdot/css/properties/text/wordwrap.htm kun virker i Internet Explorer..

Det kunne muligvis (ifølge en tråd fundet efter en søgning på "css word wrap soft") være understøttet i CSS3..
Avatar billede thesurfer Nybegynder
24. september 2007 - 10:33 #47
PS: word-wrap fejlen er den eneste der er tilbage..

Du har en del target's i dine links (vistnok 3 stk)..

Jeg tror at du skal have kigget på koden til generering af din Shoutbox. Det er der det går galt.. dvs, i din PHP kode..
Avatar billede thesurfer Nybegynder
24. september 2007 - 10:38 #48
Ved at rette fejlene (lokalt via Opera's source viewer/editor, som kan redigere/vise ændringerne live) får jeg nu denne besked:

This Page Is Valid HTML 4.01 Strict!
Avatar billede jace Nybegynder
24. september 2007 - 12:14 #49
thesurfer: Jeg forstår ikke helt hvor du ser de fejl?

Ifølge linket herunder er der ingen fejl og ordet "target" står ingen steder i koden:
http://validator.w3.org/check?uri=http%3A%2F%2Fjacobworsoe.dk%2F&charset=%28detect+automatically%29&doctype=Inline&ss=1&group=0
Avatar billede thesurfer Nybegynder
24. september 2007 - 12:31 #50
Det viser sig at være min proxy server (software) der tilføjer noget kode, og samtidigt tilføjer target.. :-)

Hvis jeg slår den fra, får jeg at vide at siden er valid.. hvilket er fint. :-)
Avatar billede jace Nybegynder
24. september 2007 - 12:38 #51
Hehe, okay... Så er alle glade :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester