Validera noscript

Javascript
Postad: 11.12.2008 | HTML · Javascript

De som får en färdig javascriptlänk med <noscript> vet att de är knepiga att få igenom validatorn.

Denna post innehåller kod-snippar som du kan använda. Det är alltid bra att ta en backup av din stilmall och funktionsfil innan.

Noscript läggs ofta in som ett inline element och i vanliga fall fungerar inline med paragrafer.

Fast inom noscript fungerar inte blockelement som paragrafer, tabellrader eller kolumner. I många fall är de även kopplade till VBscript (visual basic) och vi som ”användare” kan inte göra ett dugg åt koderna.

Validatorn uppmärksammar bland annat att det inte får finnas en paragraf i koden där den tycks befinna sig, men det är inte vi som har lagt in paragrafen.

Line ##, column #: end tag for element ”p” which is not open

Jag vet en del som har avstått från vissa tjänster för att de värdesätter en sida utan kodningsfel mer än att få en eller två fel/varningar från olika länkscript. Det är givetvis upp till var och en att avgöra hur slaviskt man vill följa W3C:s rekommendationer gällande valideringen.

Finns det då inte något att göra åt saken?

Workaround

Jag har hittat ett litet knep att ”lura” validatorn på. Det kanske inte är den mest korrekta lösningen men den funkar. Koden validerar till och med i Strict!

Låt oss börja med att kika lite på hur koden ser ut.

<script type="text/javascript" src="xxxx.js"></script>
<noscript>
<img alt="" src="http://www.xxx.com/xxxx/xxxx.php?id=roskalendern&amp;st=img" />
</noscript> 

Vi börjar med att omsluta hela koden med object och innanför noscript lägger vi sedan till en vanlig div. Det gör vi för att även bilden ska validera då det inte finns ngt som heter <img/> i noscript.

Genom att göra detta så ”förvandlar” vi noscript till att bli ett objekt och inom detta objekt kan man sedan lägga in sin html-koder så inte validatorn får fnatt.

<script type="text/javascript" src="xxxx.js"></script>
<object>
<noscript>
<div>
<img alt="" src="http://www.xxx.com/xxxx/xxxx.php?id=roskalendern&amp;st=img" />
</div>     
</noscript>
</object>

Svårare var det inte. Jag vill samtidigt passa på att säga att det finns andra, lite mer avancerade, lösningar som säkert är mer rumsrena är min och jag välkomnar alla tips.

Idag skriver vi javascript-koderna annorlunda, och de bör placeras precis innan avslutande body-taggen för att inte sega ned sidan om skripten inte svarar på anropet. Se nedan.

<script src="https://javascript.nu/xxxx.js"></script>

<script src="https://javascript.nu/xxxx.js"></script>
<object>
<noscript>
<div>
<img alt="" src="https://www.xxx.com/xxxx/xxxx.php?id=roskalendern&amp;st=img" />
</div>     
</noscript>
</object>

1 svar på “Validera noscript ”

  1. Bra att du tar upp sånt här.

    Jag har ett eget litet dilemma med ett plugin som skapar style-koder inline i body. Kommer eventuellt att bolla över det till dig någon dag…

    *Kram!*

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Denna webbplats använder Akismet för att minska skräppost. Lär dig hur din kommentardata bearbetas.