Avatar billede brownghost Nybegynder
16. august 2007 - 13:47 Der er 30 kommentarer og
1 løsning

DOCTYPE XHTML 1.0 Strict, problemer

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="da">

Der kommer en del spørgsmål i denne post, efterhånden som jeg skal løse nogle problemer.
Derfor giver jeg den 60 Point. da jeg først lukker når jeg er færdig.

1 Spørgesmål
there is no attribute "target"
man må åbenbart ikke lave det i <a> mere.
hvad gør jeg så for at åbne siden i ny vindue ?
Avatar billede webudvikleren Nybegynder
16. august 2007 - 13:49 #1
window.open
Avatar billede webudvikleren Nybegynder
16. august 2007 - 13:50 #2
<script type="text/javascript">
function jkLink ( i )
{
  if ( i != "" )
  {
      window.open( "" + i + "","NytVindue");
  } else {
      alert("Fejl ved link!");
  }
}
</script>

<a href="http://exp.dk" onclick="new jkLink( this.href )">Eksperten</a>
Avatar billede nico26 Nybegynder
16. august 2007 - 13:51 #3
er der en grund til at du bruger "strict" som doctype?
Avatar billede webudvikleren Nybegynder
16. august 2007 - 13:51 #4
Mener selvfølgelig
<a onclick="new jkLink( 'http://exp.dk' )">Eksperten</a>

i stedet for
<a href="http://exp.dk" onclick="new jkLink( this.href )">Eksperten</a>

-- Men en dårlig løsning for søgemaskinerne!!
Avatar billede brownghost Nybegynder
16. august 2007 - 14:01 #5
Så dur det ikke :( det skal være en ordenlig løsning, der virker på søgemaskiner også.
det kan da ikke passe at det skal være så bøvlet bare for at åbne et vindue LOL ???
Avatar billede webudvikleren Nybegynder
16. august 2007 - 14:02 #6
Så ha' styr på din kode, og fortæl dig selv, at det ikke er et must, at det åbner i et nyt vindue. Hvorfor overhovedet have det åbnet i et nyt vindue?

Er din doctype XML/XHTML, bør du også sætte dig ind i hvad du bør og ikke bør :-)
Hvorfor ikke bare finde en almindelig HTML doctype?
Avatar billede brownghost Nybegynder
16. august 2007 - 14:09 #7
det er et must at åbne nye vinduer af og til.
har styr på min kode.
skal bruge XHTML da det vi laver skal være fremtids sikkert.
det er en nyt CMS system fra os.
Så det skal sku være 100% da det skal brugs som base langt ud i fremtiden.
Så heller få det rigtig første gang.

andre der har løsning ?
Avatar billede webudvikleren Nybegynder
16. august 2007 - 14:16 #8
Få det rigtigt første gang - vælg en rigtig doctype.
Avatar billede brownghost Nybegynder
16. august 2007 - 14:18 #9
jamen den Doc type der er valgt er da rigtig er den ikke ??
Eller hvad, hvis den er forkert så kom ned noget imput til hvad der skal rettes.

Altså når jeg vil køre: XHTML 1.0 strict
Avatar billede nico26 Nybegynder
16. august 2007 - 14:21 #10
jeg vil anbefale at du bruger xhtml transitional
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Avatar billede webudvikleren Nybegynder
16. august 2007 - 14:22 #11
http://www.alistapart.com/articles/doctype/
"Fix Your Site With the Right DOCTYPE!"
Avatar billede brownghost Nybegynder
16. august 2007 - 16:04 #12
webudvikleren, Tak har læs den, og finder da forsat ikke at der er noget galt med min.
Du kan se den øverst her inde, første post.
Avatar billede brownghost Nybegynder
16. august 2007 - 16:08 #13
nico26: Tja men kan jo lige så godt bruge den strict, nu har jeg arbejdet efter den, og mangler ikke så meget mere, så spiller det :)

Eller har du en anden grund til at mene den er bedre, end at den er letter at få valideret?
Avatar billede Slettet bruger
16. august 2007 - 21:55 #14
OK - een ting ad gangen her:

1. Grunden til at target attributten er fjernet, er at brugeren selv skal have lov til at bestemme (via sin browser el. lign.) om hun vil åbne et givent link i et nyt vindue, eller i det nuværende.

2. Hvis du vil åbne i et nyt vindue kan du gøre det vha. JavaScript - MEN: Man skal have mulighed for at bookmarke, eller kopiere URL'en - derfor skal href attributten være et normalt link.

3. I onclick eventet fanger du linkets href attribut og åbner et nyt vindue med den, hvorefter du returnerer 'false', hvilket sørger for at browseren ikke følger linket (og åbner linket i det nuværende vindue).

Altså: JavaScript funktion:

function popupLink(url) {
    window.open(url, "newwin");
    return false;
}

HTML link:

<a href="http://www.lego.com" onclick="return popupLink(this.href);">LEGO</a>

/CS
Avatar billede brownghost Nybegynder
16. august 2007 - 22:12 #15
hummmm men den er ikke god til søgemaskine så det kan jeg ikke bruge :(
Avatar billede brownghost Nybegynder
16. august 2007 - 22:15 #16
har droppe det med de links. det jo latterligt.
åbner bare igen i nyt vindue nu.

Næste problem:
IE 6
Der virker Center stilling ikke Grrrrrrrrrr

virker i FF og i IE7

bruger den her kode i
<table style="margin-left:auto; margin-right:auto;">

gør jeg noget forkert der, eller skal der en anden løsning til for det virker i IE 5 og 6
Avatar billede verakso Nybegynder
16. august 2007 - 22:19 #17
Fremtidssikret?

Det er selvfølgelig en udlægning, man kan jo også gøre som jeg har set et par steder, nægte at lukke folk ind hvis de ikke brugte den rigtige browser.

Hvis jeres nye CMS skal ramme og favne bredt, så er I ikke home free, blot ved at bruge XMTL Strict Doctype.

Læs evt. disse artikler http://www.eksperten.dk/artikler/537, http://www.eksperten.dk/artikler/538 og se denne tråd http://www.eksperten.dk/spm/719030

Et er det at åbne vinduer, noget andet er at have styr på sin SEO. Det er nemlig næsten en videnskab i sig selv, da robotterne kan opføre sig forskelligt.

Men pøj pøj med projektet. Det er modigt at kaste sig ud på CMS markedet med alle de løsninger der allerede eksisterer.
Avatar billede brownghost Nybegynder
16. august 2007 - 22:32 #18
Yeahh, med de cms systemer der er er skod.. det vi laver bliver super. :)
og ja det er taget højte for SEO som en af de store ting... har allrede mange kunder på venteliste til det, selv om de ikke har set det, de kender os jo, og ved hvad vi laver, og vores gode service :)

Nå men nok om det, det er problemer jeg skal have løst her inde.
oven over det med center ? hvorfor virker det ikke i IE 5 og 6 ???
Avatar billede verakso Nybegynder
16. august 2007 - 22:51 #19
Fordi du ikke har læst og forstået den problematik der ligger i den valgte doctype, som beskrevet i bl.a. oleboles artikler.

IE5/6 aner ikke hvordan de skal fortolke den valgte doctype, så du er nød til at gøre din CSS i stand til at håndtere de forskellige browsere.

Et eksempel er at IE altid sørger for plads til scrol baren, FF kun hvis den er nødvendig. Derfor vil man opleve at visse sites hopper og danser når de ses i hhv. IE eller FF.
Avatar billede brownghost Nybegynder
16. august 2007 - 23:43 #20
yeahh efter noget læsen igen, og vidre til nogle andre sider fik jeg så svaret på en del af mine problemer..

den her skal ind i toppen i stedet for det jeg havde..

  <%
  If InStr(Request.ServerVariables("HTTP_ACCEPT"), "application/xhtml+xml") > 0 Or InStr(Request.ServerVariables("HTTP_USER_AGENT"), "W3C_Validator") > 0 Then
  Response.ContentType = "application/xhtml+xml"
  Response.Write("<?xml version=""1.0"" encoding=""iso-8859-1""?>" & VBCrLf)
  Else
  Response.ContentType = "text/html"
  End If
  Response.Charset = "iso-8859-1"
  Response.AddHeader "Vary", "Accept"
  %>

Hold kæft hvor er det her bare latterligt.
alle siger noget forskelligt på nettet.
igen ved hvad der virkelig virker og ikke virker.
intet virker alle steder.
det er bare til grin..

Nå men tak igen..
I kan svare... jeg er vist ved at være ved vejs ende. det var så 13 timer for at rette lidt småting....

Tak.
Avatar billede brownghost Nybegynder
17. august 2007 - 00:41 #21
Åhhhhh nej det oven over dur absolut ikke.
firefox stoper jo helt ved bare den mindste fejl.
da bruger kan bruge tekst editor, kan bruger nemt lige lavet bare lidt lort så virker siden ikke, så tilbage til det jeg først lavedet.
Grrrr
Avatar billede verakso Nybegynder
17. august 2007 - 09:50 #22
Ikke for at komme salt i såret, men du kender vel godt www.umbraco.dk ?
Jeg ved jo ikke om I bruger NET eller PHP.
Avatar billede olebole Juniormester
18. august 2007 - 21:43 #23
<ole>

brownghost >> Nej, Firefox stopper ikke ved den mindste fejl ... tværtimod! Den accepterer al mulig elendig kode, der ikke har det fjerneste med XHTML at gøre. Hvis FF reelt understøttede XHTML, ville den være laaaaaangt mere restriktiv overfor koden  ;o)

nico26 >> XHTML 1.0 Transitional har absolut intet med XHTML at gøre. Sådan et dokument vil aldig komme i nærheden af at kunne parses som et XHTML-dokument. Det vil _altid_ parses som et alm. HTML-dokument ... og så er det svært at finde årsagen til at forsøge sig med XHTML  ;o)

webudvikleren (16/08-2007 13:51:51): "Men en dårlig løsning for søgemaskinerne!!" >>
Hvor har du det fra? Det passer ikke  =)

greystate (16/08-2007 21:55:53): "Grunden til at target attributten er fjernet, er at brugeren selv skal have lov til at bestemme (via sin browser el. lign.) om hun vil åbne et givent link i et nyt vindue, eller i det nuværende." >>
Hvor har du dog den forklaring fra?  =)

/mvh
</bole>
Avatar billede nico26 Nybegynder
22. august 2007 - 14:03 #24
Hej Ole,

Jeg vil da godt give dig ret i, at xhtml transitional ikke har så meget med xhtml at gøre. xhtml transitional er vel ca. det samme som html 4.01 med xml syntaks. Og hvorfor så ikke bare bruge html 4.01 kunne man spørge. xhtml transitional blev vel introduceret for at lette overgangen til xhtml 2.0, når den engang bliver indført. Det vil formentligt være nemmere at konvertere en xhtml 1.0 side til xhtml 2.0 end en html 4.01 side til xhtml 2.0.
Avatar billede olebole Juniormester
23. august 2007 - 18:50 #25
nico26 >> Nej, overgangen er ikke sværere end, hvis du skriver HTML 4.01-Strict. Problemet er, at folk tror, de skriver noget, der ligner XHTML - og det er ekstremt sjlædent tilfældet. Ergo, man tror, man lærer noget, man ikke lærer  ;o)

Læg mærke til spørgerens totale misforståelse af problematikken:
"skal bruge XHTML da det vi laver skal være fremtids sikkert.
det er en nyt CMS system fra os.
Så det skal sku være 100% da det skal brugs som base langt ud i fremtiden.
Så heller få det rigtig første gang."

XHTML 1.0-Transitional er absolut ikke mere fremtidssikret end HTML 4.01. XHTML 1.0-Trans kommer _aldrig_ nogensinde til at bliver parsed som X(HT)ML! Der er _intet_, der bliver 'mere rigtigt første gang', når man skriver XHTML 1.0-Trans!

Han giver jo ganske tydeligt udtryk for de frustrationer, al den forvrøvlede hype om de nuværende XHTML-versioner (og deres manglende understøttelse) resulterer i:
"Hold kæft hvor er det her bare latterligt.
alle siger noget forskelligt på nettet.
igen ved hvad der virkelig virker og ikke virker.
intet virker alle steder.
det er bare til grin.."

- men også egen mangel på indsigt i sit håndværk er tydeligvis et problem:
"I kan svare... jeg er vist ved at være ved vejs ende. det var så 13 timer for at rette lidt småting...."

Når alt kommer til alt, er der jo ikke noget rocket-science i dette. Det er blot et spørgsmål om at holde sig orienteret om sit fag. En helt naturlig ting for de fleste andre brancher, men desværre ikke for webbranchen endnu  ;o)

Derfor vil jeg også tillade mig at tvivle på:
"Yeahh, med de cms systemer der er er skod.. det vi laver bliver super"

- det bliver dæleme svært med så begrænset grundviden!  :)
Avatar billede olebole Juniormester
23. august 2007 - 18:54 #26
- og det er vel at mærke ikke for at hænge spørgeren ud. Ringe faglig indsigt er et generelt problem i branchen  :)
Avatar billede brownghost Nybegynder
25. august 2007 - 18:54 #27
ole og de andre der har hjulpet, lav lige svar så lukker jeg.

Da der går lidt før jeg kan fortsætte, Lyn nedslag har ødelagt alt edb og hifi her i huset i onsdags  :(
Avatar billede olebole Juniormester
25. august 2007 - 19:31 #28
Som standarderne er skruet sammen for tiden, er det stort set umuligt at skrive valid kode. F.eks. kan en forms elementer idag ikke valideres med valid DOM/scripting - hverken i HTML eller XHTML.
Der er dog den væsentlige forskel, at i XHTML er de invalde procedurer, man er tvunget til at bruge i stedet, komplet uden mening. Den eneste grund til, at browseren ikke kløjs i koden, er, at den lader HTML-laget overtage behandlingen af dokumentet. En browser med ægte XHTML understøttelse ville gå ned med en XML-fejl!

Ens kode bliver ikke mere fremtidssikret eller korrekt ved, at man skriver den i XHTML. Efter min mening skal der idag helt specielt gode årsager til, før det kan betale sig at bruge XHTML. Det er mere end svært at finde saglige begrundelser for generel brug af XHTML, som tingene ser ud de næste par år.

Noget, der til gengæld kan betale sig, er at lære at scripte med valid DOM-kode. Dvs. f.eks:
* at undgå alle de gamle collections som document.images, document.forms, osv
* at undgå invalide og uhensigtsmæssige properties som innerText, inner- og outerHTML
* at oprette, indsætte, fjerne, udskifte og rette i elementer med DOM
* at bruge set-/getAttribute, hvor det er muligt
* at sætte events med attachEvent og addEventListener, når events sættes via script

Det fremtidssikrer din kode langt mere end XHTML 1.0 Trans - og øver dig i at håndtere mange af de komplekse forskelle. At huske at lukke tags, escape attributter og skrive med småt kan læres på en eftermiddag  ;o)
Avatar billede nico26 Nybegynder
31. august 2007 - 14:55 #29
Hej Ole,

Jeg har læst læst dine artikler om xhtml, og du har nogle interessante synspunkter. Jeg sidder i PROSAbladets (http://www.prosa.dk/prosabladet) redaktionsudvalg, og kunne godt tænke mig at bringe dine artikler. Vi arbejder pt. på en artikel om hvorfor det er vigtigt at skrive valid html, og det kunne være fint med dine artikler som forlængelse. Du bliver selvfølgelig honereret for det.

Hvis du er interesseret kan du sende en mail til mig på: mail [at] nlundgaard.dk
Avatar billede brownghost Nybegynder
08. januar 2008 - 15:14 #30
vil gerne lukke, jer der hjalp, lav svar så accepter jeg :)
Avatar billede brownghost Nybegynder
03. april 2008 - 16:41 #31
Lukker..
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
Kurser inden for grundlæggende programmering

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