Avatar billede stinejh1980 Nybegynder
14. september 2009 - 10:12 Der er 10 kommentarer og
1 løsning

Design til flere browsere

Jeg er ved at lave en intranet side hvor jeg ved at brugerne med sikkerhed bruger Fireforx, Safari, IE6, IE7 og IE8.

Da jeg selv opgraderede til IE8 skred hele mit design.

Er der noget der kender nogle generelle CMS regler som fungerer for alle browsere? Eller et sted hvor man kan læse om generelle råd når man skal designe til flere browsere. Og jeg mener ikke basal CMS, for det har jeg styr på. Jeg mener "avanceret" CMS så som Z-index, relative position, etc.
Avatar billede keysersoze Guru
14. september 2009 - 11:15 #1
CMS eller CSS? eller...?

Der er intet inden for begrebet CMS der bestemmer om udseendet holder crossbrowser eller ej - CMS er kun en indikation af, at den side man nu engang har indholdsmæssigt mere eller mindre kan opdateres i et administrationsinterface uden kendskab til webudvikling.

Det der bestemmer om din side fungerer crossbrowser er DOCTYPE, HTML samt CSS (og det er under CSS vi taler z-index og position) og hvis disse ting er i overensstemmelse med standarderne fra W3 har du med en vis sandsynlighed en crossbrowser hjemmeside. Når jeg skriver med en vis sandsynlighed, så skyldes det at der er enkelte ting der fungerer en smule forskelligt fra den ene browser til den anden, men det er ikke umiddelbart ting der kan stilles op i et skema men derimod noget der giver sig til udtryk undervejs i test hverefter man så må forsøge sig frem for at finde den bedste løsning.

Lidt mere læsestof her; http://www.eksperten.dk/guide/1288
Avatar billede stinejh1980 Nybegynder
14. september 2009 - 11:22 #2
Ups det var CSS jeg mente.

Det er bare fordi jeg kode ASP.NET og VB - og der er en del af mine funnktioner som ikker virker, men også min style forskyder sig en del.

Fil upload og FCK editor virker f.eks ikke på en Iphone :-(
Avatar billede keysersoze Guru
14. september 2009 - 11:50 #3
mit kendskab til mobile-browsere er desværre begrænset - men jeg kunne forestille mig at der er visse udfordringer i flere af dem i forhold til "rigtige" browsere.
Avatar billede stinejh1980 Nybegynder
16. september 2009 - 12:26 #4
Jeg vidste godt det med DOCTYPE. Jeg forstår godt det med at man skal fortælle browseren hvilket sprog det er man anvender, men hvorfra ved jeg hvilken DOCTYPE jeg skal skrive, for jeg ved faktisk ikke hvad forskellen er.

Jeg har altid bare skrevet:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

Hvilke ændringer skal jeg foretage i min HTML, når jeg ændre DOCTYPE?

Det skal lige siges at jeg anvender Master Pages og AJAX - så validatoren kunne ikke lige finde ud af min kode:

<%@ Master Language="VB" AutoEventWireup="false" CodeBehind="MyPage.master.vb" Inherits="IT.MyPage" %>
<%@ Register Src="MenuLow.ascx" TagName="MenuLow" TagPrefix="uc2" %>
<%@ Register src="MenuTranLayer.ascx" tagname="MenuTranLayer" tagprefix="uc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">
<title>[My Website]</title>
<link href="Style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server" >
<table id="MainDesign" align="center">
    <tr align="right">
        <td>&nbsp;</td>
        <td>
            <uc1:MenuTranLayer ID="MenuTranLayer1" runat="server" />
        </td>
    </tr>
    <tr>
        <td>&nbsp;</td>
        <td align="left" valign="top">
            <uc2:MenuLow ID="MenuLow1" runat="server" />
            <img src="gfx/spacer_XL.gif" alt="" border="0" />
        </td>
    </tr>
    <tr>
        <td><img src="gfx/spacer_S.gif" alt="" border="0" /></td>
        <td valign="top">
            <div id="Content">
                <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"></asp:ContentPlaceHolder>
            </div>
        </td>
    </tr>
</table>
</form>
</body>
</html>
Avatar billede keysersoze Guru
16. september 2009 - 14:04 #5
Det er, med al respekt, en smule kritisk hvis du ikke selv ved hvad du koder, specielt hvis det er i professionelt øjemed. Skal man lave web er man nødt til at kende til (X)HTML da det er det web primært bygger på - (X)HTML er et fag på lige fod med at være mekaniker, maler eller pilot, det heldige (eller i flere tilfælde uheldige) ved (X)HTML i forhold til mange af de øvrige fag er bare at der findes massevis af værktøjer der kan få det til at se ud som om man kan.

Der findes reelt set én standard fra W3 og det er HTML 4.01 - men ASP.NET er bygget op på sådan en måde at du, med mit kendskab til det i hvert fald, kun kan få genereret XHTML. Så valget af om du skal benytte det ene eller det andet er mere eller mindre taget på forhånd.

Så er der valget omkring transitional og strict - og det beskrives til et vist niveau i den artikel jeg linkede til, og ellers har W3 en god del om det også.

Det er i mine øjne vigtigt som udvikler ikke bare at kunne præsentere et færdigt resultat men også både valid kode, crossbrowser samt (og ikke mindst) forstå hvorfor ens kode er valid og fungerer som den gør.
Avatar billede stinejh1980 Nybegynder
16. september 2009 - 14:18 #6
Dette lyder måske dumt, men jeg ved altså godt hvad jeg koder, jeg ved bare ikken hvilken version.

Jeg ved godt man skal validere sin kode, men hvis man som jeg benytter VS2008, så laver denne jo alt HTML. Det jeg kender mest til er codebehind - eftersom det meste af elementerne på mine sider bliver loaded dynamisk.
Avatar billede keysersoze Guru
16. september 2009 - 14:45 #7
Hvis ikke du ved hvilken version er jeg stadig af den overbevisning at du ikke ved hvad du koder - og det at lade VS styre al din HTML er netop det i mine øjne springende punkt mellem om man er og kan sit fag eller bare følger med og tror blindt på et værktøj. Men lad nu det ligge ;)

Hvis du lader ASP.NET/VS styre al din HTML skal du bare benytte den DOCTYPE VS som standard indsætter, nemlig XHTML 1.0 Strict.
Avatar billede olebole Juniormester
19. september 2009 - 15:55 #8
<ole>

elvstine >> 'dumt' er måske et lidt direkte og hårdt ord, men jeg giver dig ret så langt, at det så ganske absolut ikke lyder meningsfuldt i professionelle ører. Hvis man ikke kender den version, man koder i, ved man ikke, hvad man koder.
Ved man ikke, om man taler serbo-kroatisk, polynesisk eller belgisk, ved man ikke, hvad man siger  ;o)

Det er ikke populært at sige til .net'ere, men codebehind gør for koderen, hvad bouillonterninger og pulverbearnaise gør for en 'kok'  =)

For en rigtig fagkok er det komplet uhørt at bruge den slags færdige surrogater, som man ingen kontrol har over - og som oftest består af dårlige råvarer.

Sådan er det også med hensyn til kodere og deres kode. Man kan sagtens bruge skidt halvfabrikata, men resultatet - og ens professionelle ry - bliver derefter. Man bør lære at styre sit værktøj - eller kassere det og bruge et andet. Det samme gælder, hvis værktøjet ganske enkelt ikke kan styres.

For det første er XHTML opgivet af W3C, og standarden - som i dag er mildt sagt ufuldstændig - bliver ikke videreudviklet. I stedet har man fuldt fokus på HTML, som er planlagt til at udkomme i en version 5.0 i 2012.

For det andet bør XHTML 1.0 Strict serves med MIME-typen 'application/xml+xhtml' - ikke som 'text/html'. Problemet er bare, at IE ikke understøtter - og heller ikke kommer til det - den korrekte MIME-type. Den vil i stedet tilbyde brugeren at downloade dokumentet.
Til gengæld vil ethvert dokument, served som 'text/html' altid parses som HTML - ikke XHTML. Set i det lys er det endnu mere fjollet at bruge XHTML.

Som keysersoze har gjort fint rede for, er HTML 4.01 den standard, der giver mening på dagens og den nærmeste fremtids WWW. Herefter bliver det HTML 5.0  ;o)

/mvh
</bole>
Avatar billede keysersoze Guru
19. september 2009 - 17:35 #9
Det eneste problem når man laver ASP.NET - medmindre man bruger fx MVC - er, at det ikke umiddelbart kan omvendes til at sende HTML 4.01 selv med den korrekt doctype og target schema så selvom det er forkert at benytte XHTML kan det være svært eller måske ligefrem umuligt at vælge andet.
Avatar billede olebole Juniormester
19. september 2009 - 19:01 #10
Problemerne med .net kan efter min mening deles op i to:

1) Værktøjernes teoretiske muligheder
2) Den reelle anvendelse af værktøjerne

At man ikke kan vælge HTML 4.01 i et MS-værktøj er jo græsende til hysterisk komisk, når deres egen browser understøtter standarden så elendigt, som tilfældet er. Det hører klart under kategori 1.

I forhold til kategori 2 undrer jeg mig altid, når jeg taler med .net udviklere og jeg påpeger denne eller hin uhensigtsmæssighed ved en .net kode.

"Jamen, det behøver man ikke bruge - det kan bare slås fra" plejer at være mantraet. Min replik plejer at være "Show me - don't tell me!"  ;o)

Forleden sendte jeg en mail til en .net koder, som jeg vel at mærke har den allerstørste respekt for - på alle hylder! Jeg nævnte, at vi jo så ofte havde talt om ViewState felter, og om at jeg mener, det meget ofte er uhensigtsmæssigt at tvinge brugeren til at downloade bunker af 'unødige' data.
Samtidig bemærkede jeg, at en dynamisk side, han har kodet, og som vi begge 'har aktier i', kan indeholde et ViewState felt med næsten 700.000 tegn.

"Jaja, men det kan man jo bare slå fra" var svaret endnu engang. Ehhhhh ... ja, det kan man, men ... ehhhhhh .....!?  ;o)

Man kan aldrig sikre sig mod, hvad folk gør, men værktøjerne kunne 'nok' lægge op til en anvendelse, der resulterer i en hensigtsmæssig browserkode  =)
Avatar billede keysersoze Guru
19. september 2009 - 19:14 #11
Jeg er helt enig - specielt omkring det "morsomme" at MS laver en browser der ikke kan tolke rigtig XHTML og at de samtidig laver et framework der i dens mest grundlæggende natur kun kan sende (forsøg på) XHTML :)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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