07. oktober 2008 - 21:05Der er
15 kommentarer og 2 løsninger
Drop-down i frame
Hej eksperter
Jeg er ved at lave en hjemmeside hvor jeg har lavet tre frames. Øverst har jeg en ROW (Frame1) og nedenunder har jeg to COL hvor den ene er ment som en menu (Frame2). I denne menu har jeg lavet i drop-down menu. Ud fra valget i denne drop-down menu vil jeg ændre indholdet i den sidste frame (Frame3).
Jeg ved ikke helt hvordan jeg gør for at ændre indholdet i en anden frame. jeg er kommet dertil hvor jeg kan ændre indholdet i samme frame som drop-down menuen. Er der nogen der kan hjælpe?
<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">
Under XHTML 1.0 Strict kan du slet ikke bruge (i)frames. (i)frames har ikke været en del af markup-standarder de seneste 9 år =)
Derudover disabler din XML-deklaration: <?xml version="1.0" encoding="iso-8859-1"?>
- de væsentligste dele af CSS i IE 6.
Desuden er 'iso-8859-1' deprecated i JavaScript (og har været det i mange år), så det tegnsæt er ikke velegnet, når der skal sendes requests via JavaScript.
Til slut er XHTML slet ikke understøttet på WWW - og det vil formodentlig vare en hel del år endnu, før det bliver. Tag dig ikke af, det ikke fremgår af tutorials på WWW - deres forfattere har formodentlig aldrig selv skrevet et fungerende XHTML-dokument. Læs evt: http://www.eksperten.dk/artikler/537 http://www.eksperten.dk/artikler/538
steeven >> Hvad mener du med 'småfejl'? Fejl findes ikke mere substantielle indenfor webkode! Hvis dette er 'småfejl' ... gad vide, hvordan man så mener en fejl ser ud ...?!!??!!! :D
At bruge <iframe></iframe> under XHTML svarer til at bruge <tjulahej></tjulahej> under HTML (= det giver _absolut_ ingen mening!). (I)frames har ikke været en del af en markup-standard i 9 år! Det er da en yderst seriøs fejl!
Aktivt at disable de vigtigste dele af CSS i et dokument, må da anses for at være en ekstremt alvorlig fejl!
At bruge deprecatede metoder og/eller tegnsæt er vel en ekstremt seriøs fejl!
At bruge en markup-version, man ikke forstår, må vel være at regne som en ekstremt seriøs fejl!
At se bort fra, at en bruger begår den slags fejl, ville det være en ekstremt seriøs fejl, ikke at gøre ham opmærksom på! Det kan vist kun kaldes en bjørnetjeneste!
Synes godt om
Slettet bruger
07. oktober 2008 - 23:27#6
Undskyld, undskyld!
Det var egentlig ironisk ment - jeg er ked af, at have formuleret mig uklart. Man skal passe på med at bruge dybere meninger og ironi, når kommunikationen foregår på skrift.(Udråbstegnet er vist malplaceret)
Du nævnte netop så mange fejl i koden, at det helt overskyggede det egentlige spørgsmål og overflødiggjorde en løsning dertil. Det var det jeg ønskede at kommentere.
Jeg skammer mig over min mangel på evne til at kommunikere korrekt på skrift. Lad os være gode venner igen.
Jamen - jamen ... vi er da slet ikke blevet uvenner! ;o)
Det _er_ problematisk at kommunikere via skrift ... hvorfor skulle lovtekster ellers være så oversnørklede? Jeg kender det kun alt for godt ... don't worry ;o)
Synes godt om
Slettet bruger
07. oktober 2008 - 23:39#8
Tak for det; nu er jeg lettet...
Og til rask2:
Som det fremgår, bør du ikke fortsætte, før "småfejlene" (ironi igen) er rettet! Det vil ikke virke for dig.
Og jeg vil desuden, ligesom Olebole beskrev det, fraråde dig at bruge frames som basis for hele websitet. Det giver også problemer med hensyn til søgemaskiner og ikke-entydige URL'er for forskellige sider osv. Det er nok bedst med en anden løsning som menu. Hvis webstedet ikke er for stort og uoverskueligt, placerer du jo blot din rullemenu på hver side. Så kan du netop også tilpasse den til den enkelte side (fx virker det bedst, hvis et link til en bestemt side er inaktivt, når man er på siden)
Hej olebole og steeven og tak for jeres besvarelser.
Ang de fejl du skriver om olebole så er det fint at du gør opmærksom på dette, da jeg ikke var klar over det. Jeg tror jeg har klippet det fra en side hvor de anbefalede det.
Ang. stien til mit eget C: drev så er det altså bare mens jeg udvikler siden, og vil selvfølgelig blive ændret inden de uploades.
Det er første gang jeg har anvendt frames, men tak for tippet om ikke at opbygge hele websitet med frames. Kan evt. opbygge den med en <table> og så lave en frame i tabel-element (altså den del der skal opdateres) eller hvordan vil i foreslå at man undgår at opdatere hele sitet?
Ang. flg.
<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">
, skal det bare slettes eller skal det erstattes med noget andet, og i så fald hvad?
/rask
Synes godt om
Slettet bruger
08. oktober 2008 - 21:27#10
Jeg er ikke sikker på, hvad du mener med at "opdatere" sitet ved brug af frames.
Men hvis du opretter en masse forskellige html-sider som menusiderne, så byg dem hellere op hver for sig med din rullemenu på hver enkelt side, i stedet for at bruge frames til at kalde siderne frem.
Du kan bruge frames til at hente fx sider med forskellige typer billeder ind i et område på en side, og det kan være ganske til det formål. Og dertil kan du lave en lille undermenu, som åbner siderne i en frame. Men undgå at lade vigtige sider med betydeligt indhold og tekst blive hentet ind i en frame.
// Steeven
Synes godt om
Slettet bruger
08. oktober 2008 - 21:40#11
Undgå i det hele taget at bruge frames på en sådan måde, at besøgeren af webstedet tror han har skiftet til en ny side, når nyt indhold åbnes i en frame.
For brugere har det jo med at ville gemme adresse-URL'en til en smart / flot / relevant side i deres Favorit-boks i browseren, eller i en linksamling. Og det bliver problematisk: Når du har en side opbygget med frames, så vil du opdage, at URL'en forbliver den samme, selvom en ny side åbnes i en frame. Det er netop URL'en til den html-side, hvori du har skrevet framekoderne, der vises i adresselinjen, og denne er den samme ligegyldigt frame'nes indhold. Når brugeren så åbner det link, han tidligere har gemt, så er det noget helt andet indhold han får frem.
Jeg skriver som oftest HTML 4.01 Strict og der bruger man flg. DTD: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Er det mig der har misforstået hele spørgsmålet eller er det ikke bare et spørgsmål om at bruge en ganske simpel <base target="indhold"> i HTML sidens head sektion?
Alternativt skal du ud i at bruge target til hver <a href> script, og det bliver man sku trist af når der er mange sider.
Med Base target kan du nøjes med at bruge target hvis du skal sende til et andet frame.
danco >> Om du har misforstået spørgsmålet: Både ja og nej =)
Spørgsmålet giver i udgangspunktet ikke mening, da (i)frames slet ikke kan bruges under den anvendte DTD (frames har ikke været del af W3C's standarder siden HTML 4.01 fra 1999). Da der idag ikke er fordele - men bunker af bagdele - ved brug af frames, har vi af hensyn til spørgeren forsøgt at 'pynte' lidt på hans kodevaner ;o)
Derudover er det korrekt, man kan bruge 'base', men target er deprecated. Det er derfor kun en mulighed, hvis man skriver mod tussegamle standarder - eller en af de 'løse' flavours, som fra W3C kun er ment som korte overgangsløsninger
til olebole: <Jeg er ikke sikker på, hvad du mener med at "opdatere" sitet ved brug af frames. 08/10-2008 21:27:54>
Det jeg mener det er, at jeg ikke vil loade hele siden hver gang brugerenn trykker på et menu punkt. Derfor ville jeg godt bruge frames. På pågældende side, har det ikke nogen betydning med URL adressen, men jeg kan se hvad du mener...
Jeg siger mange tak for hjælpen.
Steven og olebole smid et svar...
Synes godt om
Slettet bruger
23. oktober 2008 - 22:02#16
Her er et svar. Tak for det.
// Steeven
PS.: Det var mig, der skrev, at jeg ikke var sikker på, hvad du mente ;) Hvis du ikke er interesseret i at loade hele siden hver gang, der klikkes på et menupunkt, er det så fordi, din menu er overfyldt med billeder mm., så det tager lang tid at åbne siden? Ellers er der jo ikke noget problem i at lade en ny side blive åbnet hver gang. Hvis du ikke behøver hverken entydig URL for hver enkelt side eller god søgemaskineoptimering, så kan du vel godt bruge frames. Men husk på det, Olebole har pointeret; frames er meget forældet, og dermed ikke anbefalelsesværdigt.
Frames giver idag kun mening i forbindelse med 56K-modems, så der er næppe nogen af dine brugere, der har nogen gavn af frames. I betragtning af alle de ulemper, der er med frames, kan jeg kun se grunde til at undgå dem =)
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.