javascript - Hvor meget af en effekt kan forskellige operativsystemer have på at vise websider?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har set mange brugere på dette websted, giver operativsystemspecifikationer, når der beskrives webudviklingsfejl, og jeg har set et par tilfælde af ting, der virker på et OS, men ikke en anden.


Er der en reel forskel i, hvad der bliver behandlet af lad os sige IE6 på forskellige versioner af Windows? Eller den nøjagtig samme version af Firefox på ubuntu i modsætning til Mac?


Dette kan være et noob spørgsmål, men jeg er virkelig nysgerrig.

Bedste reference


Der er i det væsentlige 4 kategorier af cross OS-fejl, der kan forekomme på hjemmesiden (utilsigtet; ignorerer ting som webudvikleren sniffer brugeragenten og skruer med ukendte resultater eller bruger et plugin, der kun kan fungere på en platform, f.eks. Silverlight) . Bestilt i de mest almindelige til mindst almindelige, fra min personlige oplevelse



  1. Forudsætninger om skrifttyper og kerning - Hvis brugerens operativsystem ikke passer til din egen, og du angiver en skrifttype, som dit system har, at deres ikke har, vil teksten ikke have præcis samme længde og muligvis højde, selv når du angiver en bestemt punktstørrelse (den lille bogstaver 'm' skal matche, men alle andre tegn kan afvige, ligesom højden på hovedstæderne). Dette kan forårsage kaos på layout i fast størrelse, især med overskrifter, der forventes at være kun en linje lang. I det sidste kan dette mildnes ved at købe en 'webfont' (normalt både gamle IE og den nye moderne standard web skrifttype er inkluderet) og bruge det i dit CSS, hosting fonten til brugeren kan downloade. Dette kan producere en 'flash', da gengivelsen skiftes til den, når den er downloadet, selvom du absolut skal angive en lang cache-tid.

  2. Forudsætninger om formelementer - Da disse HTML-elementer er oprettet af operativsystemet direkte, i stedet for i browseren, kan de også se anderledes ud, have forskellige størrelser og adfærd, mellem operativsystemer. Styling af disse elementer reducerer variabiliteten, men nogle af formelementerne (som <input type="file">) kan ikke styles. Bare giv dem en stor buffer i dit layout.

  3. Buggy plugins - Selvom plugin eksisterer på tværs af alle operativsystemer, som Flash, fungerer de generelt bedst på Windows, og derefter kører Linux og Mac det for andetpladsen (normalt mere indsats ind i Mac-porten, men på Linux kan der være Wiki-guider for at få det til at fungere bedre, og distro-pakkerne kan bruge disse tricks, når du automatisk installerer pluginet for dig). Den eneste løsning, jeg ved, er, hvis du er en Windows-dev, at have et VirtualBox-billede af en Linux-distro som Ubuntu eller Fedora, som du tester dit websted på, og se, hvor ringe plugin'et udføres, når du tilføjer alle dine klokker og fløjter, så antager at Mac'er er stort set den samme ydeevne.

  4. Faktiske fejl i HTML-rendereren - Disse kan ske, og da tempoet i browserudviklingen er stigende, spænder funktion/bugparitetsgabet mellem platforme. Generelt gør browserens 'native' OS det bedste, efterfulgt af hvilken platform der bruger det mest efter det. Jeg ser sjældent regressioner, så når noget er arbejder på tværs af alle OS'er til en browser, forbliver det stort set den måde. Du skal gøre noget rigtig specielt for at løbe ind i dette.


Andre referencer 1


For 10 år siden ville dette svar have været en rungende ja. For eksempel var IE5 på Mac en meget forskellig kodebase end på Windows, og det gjorde en smule anderledes. Men med moderne browsere er det generelt ikke så meget tilfældet.


Der er stadig nogle mindre forskelle. For eksempel gør safari på Mac'en (ikke sikker på FF) med mak-stylede kontroller, som kan have forskellige størrelser, grænser, skrifttypestørrelser osv. Dette kan medføre subtile renderingsproblemer mellem platforme, men generelt ikke noget at bekymre sig om om ikke en enkelt pixel kan ødelægge dit design.


Skrifttyper er et andet problem, fordi forskellige skrifttyper findes på forskellige systemer, og de har forskellige målinger.


Javascript-gengivelse kan være et problem mellem browsere, men normalt ikke den samme version på forskellige OS'er.


Den nyeste fad er hardware acceleration, som kan være forskellig mellem OS'er, men bør generelt kun resultere i hastigheden af ​​rendering af forskelle.

Andre referencer 2


Det hele afhænger af browserproducenten, men i min erfaring er de temmelig tæt på den samme krydsplatform, bortset fra nogle brugergrænseflader. Ubuntu er nok det OS, de betaler mindst opmærksomhed på, og Firefox virker f.eks. Nøjagtigt det samme på Windows og Ubuntu.


Webudvikling i forhold til det operativsystem, din server kører, er et problem og er ikke en krydsplatform når det kommer til at interagere med filsystemet, men det er ikke virkelig dit spørgsmål.