javascript afdwingen?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ozzie PHP

Ozzie PHP

11/02/2011 09:41:01
Quote Anchor link
Ik zat me af te vragen... als je wil dat mensen die jouw website bezoeken altijd javascript hebben aanstaan... bijvoorbeeld omdat er met Ajax wordt gewerkt, of omdat er bepaalde controles via javascript plaatsvinden... zou dit dan een oplossing zijn?

<div id="PAGE">
// hier komt alle content
</div>

<script>
showpage();
</script>

<noscript>
U moet javascript inschakelen.
</noscript>

In de pagina zet je in de <head> via css PAGE op display none waardoor de inhoud van PAGE in 1e instantie niet zichtbaar is. Via javascript zet je de display van PAGE op block waardoor de inhoud wel zichtbaar wordt. Mensen die geen javascript hebben krijgen de inhoud niet te zien en in plaats daarvan een melding dat ze javascript moeten inschakelen. Dit zou je dan op iedere pagina op deze manier kunnen doen. Wat vinden jullie er van?
 
PHP hulp

PHP hulp

23/11/2024 20:28:04
 
John D

John D

11/02/2011 09:51:14
Quote Anchor link
Risico is dat de potentiele klant dan meteen foetsie is en een andere website zoekt of dat een potentiele klant meteen bang wordt voor "U moet javascript aanzetten"
 
Ozzie PHP

Ozzie PHP

11/02/2011 09:53:10
Quote Anchor link
Oke, daar heb je gelijk in... maar afgezien daarvan... zou deze methode werken... en waterdicht zijn?
 
John D

John D

11/02/2011 09:59:41
Quote Anchor link
Ozzie PHP op 11/02/2011 09:53:10:
Oke, daar heb je gelijk in... maar afgezien daarvan... zou deze methode werken... en waterdicht zijn?
Kan ik niet helemaal beoordelen, kwestie van veel testen met alle beschikbare browsers.
 
Ozzie PHP

Ozzie PHP

11/02/2011 10:05:01
Quote Anchor link
hmmmm, oke... het lijkt me op zich wel een geinige manier. Css uitschakelen zodat de pagina toch getoond wordt gaat voglens mij niet omdat ik de css in het bestand zelf zet.
 
Chris -

Chris -

11/02/2011 10:10:39
Quote Anchor link
Als je de Div een inline style meegeeft met display:none; kun je die met javascript weer aanzetten (omdat de css in het DOM element zit, en niet in een extern bestand..).

Op die manier behoud je wel de content, maar wordt deze niet getoond zonder javascript.

Vraag is alleen of je dit echt wilt..
 
Ozzie PHP

Ozzie PHP

11/02/2011 10:38:12
Quote Anchor link
Ja, dat is inderdaad de vraag of je dit wilt.

"Als je de Div een inline style meegeeft met display:none..."

Bedoel je aan het element zelf, dus <div id="PAGE" style="display:none"> of mag het ook bovenin in de <head>?

En zou je dit nog verder kunnen doorvoeren vraag ik me nu ineens af... dat je bijvoorbeeld de content van de PAGE div inlaadt via ajax? Als iemand dan geen javascript heeft ingeschakeld, dan ziet ie in de broncode ook niks staan. Zou dat werken?
 
Kris Peeters

Kris Peeters

11/02/2011 11:02:29
Quote Anchor link
Wat je kan doen:

Knoppen (buttons, links, ...) die enkel een werking hebben via javascript, kan je laten genereren door javascript.

Wie javascript uit heeft staan, krijgt die knoppen dan niet te zien.
Voor de rest van je site moet je dan maar zorgen dat alles ook werkt zonder javascript.


Eventueel kan je een bericht zetten waarin je zegt dat javascript best aan staat, bij het laden van de pagina zet je die mededeling onzichtbaar.
Gewijzigd op 11/02/2011 11:04:15 door Kris Peeters
 
Ozzie PHP

Ozzie PHP

11/02/2011 11:05:23
Quote Anchor link
Wat bedoel je precies met "laten genereren door javascript".

Wat ik zou willen is... als ik bijvorbeeld een beheer / cms systeem ga maken waarbij voor sommige functies en (beveiligings)controles javascript vereist is, het systeem niet werkt als mensen javascript hebben uitgeschakeld.

Sterker nog, ik wil dat ze niet eens kunnen inloggen als javascript is uitgeschakeld. Wat zou dan de beste manier zijn?
 
- Mark -

- Mark -

11/02/2011 11:15:31
Quote Anchor link
Zo te lezen ben je behoorlijk verkeerd bezig. Javascript draait client side dus daar hebben je bezoekers volledige controle over. Javascript dien je alleen te gebruiken om de gebruikers ervaring te verbeteren en nergens anders voor.
Gewijzigd op 11/02/2011 11:16:13 door - Mark -
 
Ozzie PHP

Ozzie PHP

11/02/2011 11:35:33
Quote Anchor link
"Zo te lezen ben je behoorlijk verkeerd bezig." Ik ben nog niet bezig... het is puur een gedachte die speelt. Maar er zijn toch heel veel websites waarbij je met een onclick een product in een winkelmand gooit waarbij er een aantal functies via javascript worden aangeroepen. Als iemand geen javascript heeft werkt het dus niet. Tuurlijk kun je dan zeggen dat het niet goed geprogrammeerd is, maar het is vaak wel de realiteit. Daarom speelt bij mij deze gedachte dus. En dan kan ik me nog voorstellen dat je dat bij een publieke site niet doet, maar bij een intern beheersysteem (bijv. uit veiligheidsoverwegingen) wel.
 
- Mark -

- Mark -

11/02/2011 11:46:10
Quote Anchor link
:p aan het denken dan.

Dat iets veel voor komt wil niet zeggen dat iedereen het zo moet doen. En al helemaal niet als het fout is. Het voorbeeld dat je geeft met de onclick is iets dat de gebruikers ervaring verbeterd. Dat is natuurlijk mooi, maar als jij de gebruiker gaat pesten omdat ze geen javascript hebben aanstaan lopen ze gewoon weg. Zorg er dus voor dat het ook werkt zonder javascript. Zo veel moeite is het niet. Tevens maakt het deze groep mensen niet uit dat ze een paar keer meer moeten klikken. Ze kiezen daar namelijk zelf voor.

Javascript en veiligheidsoverwegingen is niet iets dat bij elkaar hoort. Met javascript kun je niets beveiligen.
 
Ozzie PHP

Ozzie PHP

11/02/2011 11:56:03
Quote Anchor link
"Javascript en veiligheidsoverwegingen is niet iets dat bij elkaar hoort. Met javascript kun je niets beveiligen."

Ik heb ooit... weet niet meer precies hoe het zat... met javascript een button zo ingesteld dat ie heel even na het klikken disablede, zodat iemand niet als een gek 100 keer achter elkaar op die button kan klikken. Weet niet meer precies hoor hoe het zat... maar via javascript kon je dat 'veel klikken' wel heel mooi tegengaan. Ik ben alleen ff de exacte context kwijt waarin zich dit afspeelde.

Anyhow... maak jij je sites dan altijd zo dat deze ook te gebruiken zijn door mensen die geen javascript hebben ingesteld?

Ik noem eens een heel simpel voorbeeldje. Stel je hebt een beheersysteem waarin je informatie van orders kunt opvragen. Stel je vraagt de orders van vandaag op en er worden er 50 getoond. Door op de ordertitel te klikken klapt daaronder een divje open met meer informatie over die order. Zou jij dan een extra pagina maken die wordt geopend op het moment dat mensen geen javascript hebben ingeschakeld? Zo ja, dan moet je namelijk vrijwel alles dubbel gaan uitvoeren.
Gewijzigd op 11/02/2011 11:56:52 door Ozzie PHP
 
- Mark -

- Mark -

11/02/2011 12:08:14
Quote Anchor link
Je eerste voorbeeld is niets meer dan schein veiligheid of hoe ze dat ook noemen. Leuk om de leeken tegen te houden maar meer niet.

Over het beheer systeem.

Het open klappen van het informatie divje is iets dat de gebruikers ervaring verbeterd. Zoals je al zegt werkt dit natuurlijk niet als Javascript is uitgeschakeld. Mensen missen nu dus deze functie. Dit probleem kun je op verschillende manieren oplossen.

1. De informatie altijd weergeven.

2. De pagina zo splitsen dat je een lijst hebt met de orders en daarnaast de informatie. Met javascript kun je de informatie inladen zonder de pagina te refreshen en als het uitstaat moet de pagina opnieuw worden geladen.

en zo kan ik nog wel een tijdje door gaan. Je wilt iets teveel met javascript doen naar mijn mening. Dat is niet verkeerd maar ik zou er geen vereiste van maken.
 
Ozzie PHP

Ozzie PHP

11/02/2011 12:22:14
Quote Anchor link
Maar stel je hebt een overzichtje van orders waarbij je alleen de titel (bedrijfsnaam + ordernummer) toont, en je wil uitsluitend dat tonen, omdat het onoverzichtelijk wordt wat is dan de juiste manier?

Bedrijf A order 001
Bedrijf B order 002
Bedrijf C order 003
enz.

En als je dan op een titel klikt krijg je bijvoorbeeld:

Bedrijf A order 001
bedrag 99,- besteld op 11 feb. 2011 door Pietje Puk
afleveradres:
Langestraat 1
9999xx
StadDorp
Bedrijf B order 002
Bedrijf C order 003

Wat te doen als javascript niet werkt? Al die divjes standaard open zetten wordt ook een warboel lijkt me...
 
- Mark -

- Mark -

11/02/2011 12:31:08
Quote Anchor link
Gewoon netjes weergeven. Bedrijf A order 001 iets groter en de rest van de informatie kleiner eronder bevoorbeeld. Javascript toevoegen aan zoiets is juist gebruikers onvriendelijk want ze moeten klikken om de rest van de informatie te zien. Je hebt niet veel om weer te geven, ga dan ook geen gekke dingen doen.

Door verschil in opmaak kun je heel gemakkelijk verschil zien tussen titel en content. en dus heel gemakkelijk de order vinden die je zoekt.
Gewijzigd op 11/02/2011 12:48:34 door - Mark -
 
Ozzie PHP

Ozzie PHP

11/02/2011 13:24:45
Quote Anchor link
Wat ik liet zien is natuurlijk maar een simpel voorbeeldje. Ik zou me kunnen voorstellen dat er 50 orders onder elkaar staan en dat er veel meer informatie in die div staat. Vandaar dat mijn keuze zou zijn om die dan niet standaard open te klappen. Maar ik denk dat dat ook een stukje persoonlijke smaak is. Ik vind het beter / gebruiksvriendelijker om snel te kunnen vinden wat ik zoek. Jij vindt het beter om een heleboel informatie te tonen. Kwestie van smaak denk ik.
 
- Mark -

- Mark -

11/02/2011 13:34:50
Quote Anchor link
Als je met zoveel orders hebt te maken kun je beter voor een goede zoek functie zorgen. Ik probeer alleen maar te zeggen dat javascript niet een vereiste hoeft te zijn. Je kan er hele leuke dingen mee maar het is niet altijd beter. Voor bijna elk voorbeeld is wel iets te verzinnen zodat geen javascript vereist is. Ja dat gaat wel eens ten koste van gebruik vriendelijkheid maar in veel/de meeste gevallen niet. Als het maar goed doordacht in elkaar steekt.

Ik vindt het niet beter om altijd een heleboel informatie te tonen. Dat hangt af van de situatie. Als je hele lappen tekst bij een order hebt staan moet je die inderdaad niet allemaal gaan weergeven.
 
Ozzie PHP

Ozzie PHP

11/02/2011 13:39:03
Quote Anchor link
okeej... naja... het gaat maar om een voorbeeld, maar de uiteindelijke vraag is dus nog steeds of je javascript kunt afdwingen, en een zeer terechte tweede vraag is dan inderdaad of je dat zou moeten willen.

Maar als ik het goed begrijp is de meest simplistische manier dus om alle dingen die zichtbaar zouden moeten kunnen zijn open te zetten, en dan via javascript te sluiten. Iemand die geen javascript heeft ziet alles, bij iemand die wel javascript heeft is alles netjes ingeklapt en die kan op een knopje drukken om iets te openen.
 
- Mark -

- Mark -

11/02/2011 13:47:50
Quote Anchor link
Als ik je order voorbeeld neem als voorbeeld dan ja. Als je extreem veel informatie hebt dan nee want dan wordt het inderdaad onoverzichtelijk als je alles onder elkaar zet.

Je kunt de gebruiker altijd een eige keuze geven natuurlijk. Laat het hem instellen hoe hij het wil. Alles open / eerste 5 / alles gesloten / onclick / onmouseover of wat er ook van toepassing is.
 
Ozzie PHP

Ozzie PHP

11/02/2011 13:59:21
Quote Anchor link
Oke... leuke discussie dit :)
Thanks voor het meedenken.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.