WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   XHTML och frames (https://www.wn.se/forum/showthread.php?t=9941)

Dynamic 2005-09-21 01:17

Man vill ju vara duktig och koda XHTML (strict) så här i moderna tider, men hur ska man göra med frames? Hur gör ni?

Vad jag tänker på är problemet med att <frameset> inte tar attributen border="0" frameborder="0" framespacing="0" som äldre (alla?) webbläsare behöver för att inte visa vitt tomrum om man tar bort frameborder (och frameborders är det sällan man vill visa) .

Alternativen jag hittat är:
  • Inte använda frames
  • Använda en custum DTD-fil och validera med en validator som stödjer det
  • Strunta i att validera frameset-filen och köra på ändå

Vad rekommenderar expertskapet?

koala 2005-09-21 06:47

Jag använder inte frames själv, så det är min rekommendation.

wiggin 2005-09-21 10:09

  • Inte använda frames
Helt klart! Att använda frames och programmera XHTML strict hör inte samman, även om man hittar fullösningar för att klara valideringen.

Dynamic 2005-09-21 12:58

Är det bara jag som tycker det är konstigt att det inte går att göra vissa typer av sidor med den nya standarden, som är tänkt att ersätta de andra så småningom?

koala 2005-09-21 13:05

Citat:

Originally posted by Dynamic@Sep 21 2005, 12:58
Är det bara jag som tycker det är konstigt att det inte går att göra vissa typer av sidor med den nya standarden, som är tänkt att ersätta de andra så småningom?


Vad tänker du på för sidor då?

Dynamic 2005-09-21 14:45

Jag tänker på sidor där man vill ha navigationen synlig (en meny till vänster är ju väldigt vanligt) samtidigt som man kan scrolla innehållet till höger. Webbshopar med ett stort sortiment är ett exempel där det används mycket (där även kundvagnen lämpligt brukar placeras i en frame).

koala 2005-09-21 15:05

Citat:

Originally posted by Dynamic@Sep 21 2005, 14:45
Jag tänker på sidor där man vill ha navigationen synlig (en meny till vänster är ju väldigt vanligt) samtidigt som man kan scrolla innehållet till höger. Webbshopar med ett stort sortiment är ett exempel där det används mycket (där även kundvagnen lämpligt brukar placeras i en frame).

Visserligen är det (nästan) möjligt att göra en sådan lösning med lite absolutpositionerade div's, men i dessa fall är det nog ändå smartast att använda HTML 4.01. En sådan webbshop är ju ändå inte tänkt att fungera på små skärmar och andra specialfall.

Dynamic 2005-09-22 01:13

Nej visserligen. Jag menar bara att jag tycker det är konstigt att man hittat på något nytt som ska ersätta det gamla och sen inte klarar av allt det gamla gör.

Citat:

W3C defines XHTML as the latest version of HTML. XHTML will gradually replace HTML.

ArreliuS 2005-09-22 02:06

Det finns ju xhtml-framset som stödjer frames.

Robert 2005-09-22 08:09

Citat:

Originally posted by Dynamic@Sep 22 2005, 01:13
Nej visserligen. Jag menar bara att jag tycker det är konstigt att man hittat på något nytt som ska ersätta det gamla och sen inte klarar av allt det gamla gör.

Du menar ungefär som med CSS? B)

Dynamic 2005-09-22 18:38

Citat:

Ursprungligen postat av Robert
Citat:

Ursprungligen postat av Dynamic
Nej visserligen. Jag menar bara att jag tycker det är konstigt att man hittat på något nytt som ska ersätta det gamla och sen inte klarar av allt det gamla gör.

Du menar ungefär som med CSS? B)

Ja jo kanske det. Men med CSS har jag inte stött på något olösligt problem än så länge i varje fall :)

wiggin 2005-09-22 23:35

Citat:

Originally posted by Dynamic@Sep 21 2005, 12:58
Nej visserligen. Jag menar bara att jag tycker det är konstigt att man hittat på något nytt som ska ersätta det gamla och sen inte klarar av allt det gamla gör.
Vad är det som säger att det är dåligt ;) Jag tycker det är bra. Själv har jag inte använt frames sedan 1999. :P Då var det användbart när man bara använde HTML och ville visa samma meny på 10 sidor. Nu finns det många bättre sätt att infoga samma meny utan att använda frames. Frames stänger inne texten gör att användaren blir begränsad. Det kommer fram flera olika scrollbars på lite olika platser, man kan inte direktlänka till sidor(går visserligen att lösa med extra kod) och funktionaliteten i webbläsaren blir lidande.

Om man nu absolut måste ha ett element med fast placering går det som någon tidigare påpekade det att lösa med css. Dock är jag inte villig att hålla med om att det alltid är bäst. Kolla in bokus.com som jag tycker har en väldigt bra och fin struktur på sin meny och kundvagn.

Dynamic 2005-09-23 13:37

Bra kan du väl ändå inte säga att det är. Jag har heller inte använt frames på åratal men jag tycker ändå det är dåligt att utvecklingen går mot att man inte kan. Man vill ju ha möjligheten.

Tänk om en kund sagt "Jag vill ha en sida exakt som cdon.se" ;)

Precis som det finns tricks för att få en liknande funktion med css finns det tricks för att göra frames mer användarvänliga.

wiggin 2005-09-23 13:59

Citat:

Ursprungligen postat av Dynamic
Tänk om en kund sagt "Jag vill ha en sida exakt som cdon.se" ;)

Då är det din uppgift som webbutvecklare att informera kunden om att det inte är en bra lösning och istället ta fram en bättre ;)

Citat:

Originally posted by -Dynamic@tidigare
Nej visserligen. Jag menar bara att jag tycker det är konstigt att man hittat på något nytt som ska ersätta det gamla och sen inte klarar av allt det gamla gör.
Citat:

Ursprungligen postat av Dynamic
Precis som det finns tricks för att få en liknande funktion med css finns det tricks för att göra frames mer användarvänliga.

Bra då har vi kommit fram till att det klarar av att prestera samma resultat. Fast du kan göra det bättre och mer användarvänligt i XHTML :D

Lindahl 2005-09-23 14:58

En nackdel som får mig att dra mig för att överge frames är att det skulle kräva en massa parametrar till varje sida, och det är inte särskilt seo-vänligt. Det blir extra problematiskt mär man inte har tillgång till mod rewrite.

guran 2005-09-30 02:33

Om du nu vill ha frames så kan jag trösta dig med att IE inte stödjer xhtml, så du kan lugnt koda för html4 strict.

Jag skulle även tippa att 99% av alla som sätter doctype till xhtml inte är medvetna om att webbläsarna ändå behandlar xhtml som html. Detta på grund av att mime-typen vid xhtml ska vara application/xhtml+xml. Är den mime-typen satt behandlar Opera och FF xhtml som xhtml. IE klarar inte av detta utan öppnar en spara-fil-dialogruta.

Och vad händer när FF och Opera kör xhtml. Ja, har du t.ex. glömt en sluttag, så blir det bara ett felmeddelande på skärmen och inte en enda pixel av din hemsida visas i webbläsaren. I princip behöver man inte validera koden mot t.ex. W3C utan är den felaktig så lär du få veta det av webbläsaren.

Vill du promt ha xhtml måste du kontrollera vilken webbläsaren besökaren har och skicka korrekt mime-type och då måste du veta vilka webbläsare som klarar av xhtml. Jag känner bara till att Opera och FF klarar av det.

kullervo 2005-09-30 11:43

Citat:

Originally posted by guran@Sep 30 2005, 01:33
Om du nu vill ha frames så kan jag trösta dig med att IE inte stödjer xhtml, så du kan lugnt koda för html4 strict.

Jag skulle även tippa att 99% av alla som sätter doctype till xhtml inte är medvetna om att webbläsarna ändå behandlar xhtml som html. Detta på grund av att mime-typen vid xhtml ska vara application/xhtml+xml. Är den mime-typen satt behandlar Opera och FF xhtml som xhtml. IE klarar inte av detta utan öppnar en spara-fil-dialogruta.

Och vad händer när FF och Opera kör xhtml. Ja, har du t.ex. glömt en sluttag, så blir det bara ett felmeddelande på skärmen och inte en enda pixel av din hemsida visas i webbläsaren. I princip behöver man inte validera koden mot t.ex. W3C utan är den felaktig så lär du få veta det av webbläsaren.

Vill du promt ha xhtml måste du kontrollera vilken webbläsaren besökaren har och skicka korrekt mime-type och då måste du veta vilka webbläsare som klarar av xhtml. Jag känner bara till att Opera och FF klarar av det.

Wow! Det hade jag ingen aning om. Perfekt att köra application/xhtml+xml på utvecklingsservern då.

guran 2005-09-30 13:36

Citat:

Originally posted by kullervo@Sep 30 2005, 10:43
Perfekt att köra application/xhtml+xml på utvecklingsservern då.
Kodar man i php skriver man: header('Content-type: application/xhtml+xml');

Dynamic 2005-10-03 13:58

Väldigt intressant. Vad träffad och lite dum man känner sig :)

Här hittade jag bra ytterligare information om ämnet: http://www.456bereastreet.com/lab/de...ards/sv/xhtml/

zoran 2005-10-05 14:57

Citat:

Originally posted by Dynamic@Sep 21 2005, 14:45
Jag tänker på sidor där man vill ha navigationen synlig (en meny till vänster är ju väldigt vanligt) samtidigt som man kan scrolla innehållet till höger. Webbshopar med ett stort sortiment är ett exempel där det används mycket (där även kundvagnen lämpligt brukar placeras i en frame).
Varför inte använda en iframe då? Eller kanske se till att användaren inte behöver scrolla?

/Zoran

Dynamic 2005-10-06 08:47

Citat:

Ursprungligen postat av zoran
Citat:

Ursprungligen postat av Dynamic
Jag tänker på sidor där man vill ha navigationen synlig (en meny till vänster är ju väldigt vanligt) samtidigt som man kan scrolla innehållet till höger. Webbshopar med ett stort sortiment är ett exempel där det används mycket (där även kundvagnen lämpligt brukar placeras i en frame).

Varför inte använda en iframe då? Eller kanske se till att användaren inte behöver scrolla?

/Zoran

iframe är inte heller tillåtet i XHTML Strict tyvärr.

Att problemet går att unvika är jag medveten om. Jag ville veta om man kunde lösa det, och ifall inte, varför de gjort så.

digiArt 2005-10-06 11:40

Det går att scrolla ett lager, dvs en div...

DeSoto 2005-10-12 16:11

Till vad vill du använda ramar? Det kan ju vara ganska händigt när man arbetar med administrationsgränssnitt där man aldrig behöver tänka på sökmotorer eller direktlänkar. Men till en vanlig webbplats är det la inte att rekommendera med ramar längre.


Alla tider är GMT +2. Klockan är nu 18:46.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson