Duur JavaScript

Door Little Penguin op dinsdag 21 juli 2009 21:06 - Reacties (14)
Categorie: WWW, Views: 5.043

Ik ben geen fan van JavaScript als het echt niet nodig is, denk daarbij bijvoorbeeld aan interfaces van een ADSL-modem, routers en dergelijke. Er is niets op tegen om JavaScript als een hulpmiddel te gebruiken, maar in principe moet je met een browser zonder JavaScript-ondersteuning dit soort apparaten gewoon kunnen configureren.

Als je dan al JavaScript gebruikt, maak dan wel gebruik van de standaard API's, zoals het Document Object Model van het W3C. Een fabrikant van hardware deed dit echter niet en had zelfs een erg dure blunder gemaakt, door nu net Opera als browser uit te sluiten.


JavaScript:
1
2
3
4
if (is.opera)
{
window.location.href="config/error.htm";
}


Bron:http://my.opera.com/hallvors/blog/2009/07/20/most-expensive-javascript-ever

Het gevolg van deze regel in de web-admin interface van die server die men als demo-machine op proef had, dat was dat men bij dat bedrijf dus geen bestelling geplaatst heeft. :D

(Mijn) moraal: Als je anno 2009 nog aan browser-sniffing doet, dan hoor je niet thuis op deze planeet...
Edit: Er zijn uitzonderingen, zoals crisp ook aangeeft - ik bedoel dan ook met name het totaal uitsluiten van bepaalde browsers of het (op deze manier) aanbieden van een half-toegankelijke site...

Volgende: X-UA-MakeCompatible 09-'09 X-UA-MakeCompatible
Volgende: paint.canvas 06-'09 paint.canvas

Reacties


Door Tweakers user Wiethoofd, dinsdag 21 juli 2009 21:07

Hoe zit het dan met browser-sniffing om de user een mobiele-template voor z'n neus te zetten. Zo heb je pefecte templates speciaal voor de iPhone waar dan dus wel naar gesniffed kan worden zodat er niet nog eens apart omgeschakeld hoeft te worden.

Door Tweakers user Little Penguin, dinsdag 21 juli 2009 21:16

@Wiethoofd: Ik neem aan dat je bedoelt dat je aan een iPhone gebruiker (of gebruikers van een andere browser op een mobiel apparaat) een site toont die op hun schermformaat is aangepast?

Daar hebben we inmiddels de CSS media queries voor, hoewel de ondersteuning in de (mobiele) browsers op dit moment inderdaad nog niet echt aanwezig is.

Voor dat soort zaken zul je nu dus nog wel aan enige browser-sniffing moeten doen, maar zorg er dan al wel voor dat je snel over kunt schakelen naar de CSS media queries zodra deze in de vaak gebruikte (mobiele) render engines geÔmplementeerd zijn.

Door Tweakers user Sebazzz, dinsdag 21 juli 2009 21:36

Over nutteloze JS gesproken. Moet je eens in een Speedtouch kijken, iedere link in de webinterface heeft ongeveer de volgende href:

JavaScript:
1
javascript:GoAndRemember('/cgi/b/info/', '')


Wat doet GoAndRemember?

JavaScript:
1
// Function to load the given link while preserving the menu state


Dat kan de httpd van de speedtouch zelf ook wel lijkt me :/

Door Tweakers user Nick_S, dinsdag 21 juli 2009 21:51

Als je dan toch denkt, dat iedere browser een pagina ook zonder js kan bekijken, markeer dan je linkjes ook als links. ;)

Door Tweakers user kipusoep, dinsdag 21 juli 2009 22:25

(Mijn) moraal: Als je anno 2009 nog aan browser-sniffing doet, dan hoor je niet thuis op deze planeet...
Niet mee eens, zelfs jQuery doet aan dit soort praktijken...

[Reactie gewijzigd op dinsdag 21 juli 2009 22:26]


Door Tweakers user Apache, dinsdag 21 juli 2009 22:30

GWT doet ook aan browsersniffing om dan de voor de browser specifiek gecompileerde javascript te laden ... misschien kan je deze link even op de gwt google groups posten?

Door Tweakers user Little Penguin, dinsdag 21 juli 2009 22:32

"(Mijn) moraal: Als je anno 2009 nog aan browser-sniffing doet, dan hoor je niet thuis op deze planeet..."

Niet mee eens, zelfs jQuery doet aan dit soort praktijken...
Mijn eerste reactie was: "Maar dat doet'ie toch alleen als laatste redmiddel, mag ik hopen?"

Mijn tweede reactie was het bekijken van de broncode van jQuery zelf en wat lees ik daar:
// Use of jQuery.browser is deprecated.
// It's included for backwards compatibility and plugins,
// although they should work to migrate away.
Bron: http://code.jquery.com/jquery-latest.js

Of-te-wel, jQuery maakt er ook geen gebruik (meer) van.

Volgens mij zoekt men nog wel naar fouten in de implementatie van de diverse browsers, om er daarna rondheen te werken - maar directe browser-sniffing kan ik zo 1-2-3 niet terugvinden in die broncode. Behalve dan om jQuery.browser van inhoud te voorzien...

Door Tweakers user crisp, dinsdag 21 juli 2009 22:51

Daar hebben we inmiddels de CSS media queries voor, hoewel de ondersteuning in de (mobiele) browsers op dit moment inderdaad nog niet echt aanwezig is.
De tendens is juist dat mobile browsers zich steeds meer als desktop browsers gaan gedragen. media="handheld" wordt ook al standaard genegeerd door mobile browsers die daar wel support voor hebben.

Daarbij kan je met media-queries nog niet alles wat je zou willen. Vaak zou je bijvoorbeeld je pagina's al willen 'downsizen' voordat je het naar een mobile client stuurt - dan ontkom je niet aan browser-sniffing aan de serverkant (dat, of een compleet seperate codebase voor mobile browsers waarbij de kleinste dominant bepalend is en je dus te kort doet aan geavanceerdere mobile devices en browsers).

Door Tweakers user Erkens, dinsdag 21 juli 2009 23:19

De tendens is juist dat mobile browsers zich steeds meer als desktop browsers gaan gedragen. media="handheld" wordt ook al standaard genegeerd door mobile browsers die daar wel support voor hebben.
En dat vind ik nu toch zo jammer, is er eindelijk een mogelijkheid om de browser te helpen die een "kleiner" scherm heeft door een "speciale" css file aan te bieden maken ze er geen gebruik van :(

Door Tweakers user Little Penguin, dinsdag 21 juli 2009 23:24

Vaak zou je bijvoorbeeld je pagina's al willen 'downsizen' voordat je het naar een mobile client stuurt - dan ontkom je niet aan browser-sniffing aan de serverkant
Als je het gebruikt om op maat gemaakte afbeeldingen (foto's en dergelijke) op te sturen, dan is dat een goede reden op op de server even te snuffelen naar het soort browser aan de client-kant. Maar dat is dan ook een van de uitzonderingen naar mijn mening.

Verder zou je eventueel ook nog naar uitzonderingen bij bepaalde browsers kunnen sniffen, maar een totaal onbekende nieuwe browser zou echter -als deze qua feature set overeenkomt met een andere moderne browser- zonder problemen met de site (web-applicatie) moeten kunnen werken.

Door Tweakers user TeeDee, dinsdag 21 juli 2009 23:26

Daar hebben we inmiddels de CSS media queries voor...
Dan kan je nog zo'n mooie stylesheet gebakken hebben specifiek voor handhelds of wat dan ook: echt nuttig gaat dat imo niet zijn. Je zal toch specifieke content aan moeten bieden in dit geval. Als we naar de T.net frontpage kijken: die wil ik echt niet op mijn kleine HTC schermpje zien, hoe goed crisp en consorten hun best hebben gedaan om een super handheld css aan te bieden.

Imo is voor een mobiele variant van (wederom) de T.net frontpage: de nieuwsbrief.

Door Tweakers user Patriot, woensdag 22 juli 2009 00:22

En dat vind ik nu toch zo jammer, is er eindelijk een mogelijkheid om de browser te helpen die een "kleiner" scherm heeft door een "speciale" css file aan te bieden maken ze er geen gebruik van :(
Wat tegelijkertijd natuurlijk ook heel logisch is. Het zou ongelooflijk zonde zijn om de goede mobiele browsers te laten 'lijden' onder het feit dat andere mobiele browsers zo slecht zijn. Ik vind dat onder het mediatype handheld te veel soorten mobiele browsers vallen om er echt lekker gebruik van te maken. Kan ik wel uitgaan van de meest geavanceerde browser, maar daar heeft de slechtere weer helemaal niets aan. Op dit moment kunt je er tenminste enigszins van uitgaan dat de browser die het mediatype niet negeert het waarschijnlijk ook nodig heeft.

Door Tim, woensdag 22 juli 2009 02:25

Is het niet makkelijk om voor Tweakers.net op een mobiele telefoon http://tweakers.mobi/ te gebruiken?

Door Tweakers user himlims_, donderdag 23 juli 2009 08:40

'leuke' van het verhaal dat dit alles afspeelde op het kantoor bij browser bakker Opera _/-\o_

Reageren is niet meer mogelijk