käytän alla olevaa koodia sivulla flash-videon näyttämiseen. olen yrittänyt millä saisin koodin käyttäytymään siten, että jos selaimen javascript-tuki EI ole päällä, tulisi playerin ikkunaan herja ettei voi näyttää videota. olisio vinkkiä miten kannattaisi edetä!
<a class="myPlayer" href="http://www.sivu.com/videot/video.flv" style="background-image:url(http://www.sivu.com/videot/kuva.jpg)"> <img src="http://www.sivu.com/videot/play.png" alt="Demo video"/> </a> <br clear="all" /> <script type="text/javascript"> flowplayer("a.myPlayer", "http://www.sivu.com/videot/flowplayer-3.2.7.swf", { plugins: { controls: { volume: false } } }); </script>
kokeile laittaa herja noscript-tägien väliin:
<noscript>
<div class="warning"><p>Selaimesi ei tue JavaScriptiä, joten videota ei voida näyttää!</p></div>
</noscript>
ilmeisesti likimain saman asian ajaa head-lohkoon laitettu:
<noscript> <meta http-equiv="refresh" content="0;URL=http://www.sivu.com/error/videoerror.php" /> </noscript>
No sen voi laittaa "mihin haluaa", joskin havainnollisempaa se olisi laittaa juuri videon tilalle, eikä mitään "Sul ei nyt näy video, painu sit kokonaan hittoon siitä" -tyylistä kokonaan toiselle sivulle siirtelyä.
Mielenkiinnosta etsiskelin suosituksia noscript
-tagin suhteen ja ei oo helppoo:
Noscript
johtaa epäsemanttiseen merkkaukseen eikä välttämättä toimi oikein, jos käyttäjän JavaScript on estetty palomuuritasolla, kun taas noscript-divin ongelma on sen potentiaalinen näkyminen käyttäjälle ennen kuin skripti ehtii poistaa sen näkyvistä. HTML5:ssä noscript-tagin voi laittaa myös head-osioon ja ohjata käyttäjän siellä erillisellä noscript-sivulle, mutta tämä taasen voi heittää hakurobotit loppumattomaan silmukkaan eikä uudelleenohjaus välttämättä toimi kaikilla käyttäjillä.
Tässä tilanteessa laittaisin a-elementin sisään play-kuvan tilalle ensin kuvan, joka kertoo "JavaScriptin olevan käynnistymässä tai poistettu käytöstä", jonka sitten korvaisin tuolla play-kuvalla JavaScriptia käyttäen. Jos haluat tuunata niin a-elementin voi vielä laittaa dokumentissa viimeiseksi ja siirtää sitten tyyleillä haluttuun kohtaan sivua, mutta tämä monimutkaistaa dokumentin rakennetta ja tyylisääntöjä. Jos oikein muistelen ja arvailen niin Youtube käyttää omaa noscript-tekstielementtiä noscript
-tagin sijaan.
Lähteet:
Mulla on oletuksena sivulla herjoja jotka poistetaan javascriptillä DOMContentLoaded tapahtumassa.
<div class="nojs"> This page requires javascript. Enable javascript and <a href="">reload</a> the page again </div>
$( document ).ready( function(){ $( '.nojs' ).remove(); });
esajeejee kirjoitti:
Mulla on oletuksena sivulla herjoja jotka poistetaan javascriptillä DOMContentLoaded tapahtumassa.
<div class="nojs"> This page requires javascript. Enable javascript and <a href="">reload</a> the page again </div>$( document ).ready( function(){ $( '.nojs' ).remove(); });
No ei kai niitä siellä ihan oletuksena kannata pitää, jos sivu toimii ilman JavaScriptiäkin kelvollisesti.
("Minä laitan tekstiä liikkumaan kursorin ympärille ja jos ei käyttäjällä ole JavaScript päällä niin varmasti herjaan ja paljon!")
Kaikki data tulee ajaxilla JSONina tai on pageloadissa jsonina ja markuppi generoidaan cachetusta js filusta joten eipä paljoa toimi. Tai sitten sivut on webappeja. Näin siksi että bandwidth säästöt ovat lievästi sanottuna huimat ja sivustojen käyttönopeus on 20x normaaleihin php sivuihin verrattuna + jatkuvat full page reloadit ärsyttää käyttäjiä. Noscriptfoliohatut voivat sitten ottaa sen pois päältä tai mennä muualle.
esajeejee kirjoitti:
jatkuvat full page reloadit ärsyttää käyttäjiä
Tarkoititko: jatkuvat back-nappuloiden ja uuteen tabiin avaamisien rikkomiset ärsyttää käyttäjiä
Aihe on jo aika vanha, joten et voi enää vastata siihen.