Validera noscript
Postad: 11 december 2008 | HTML · Javascript | 1 CommentDe som får en färdig javascriptlänk med <noscript> vet att de är knepiga att få igenom validatorn.
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.
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="https://www.xxx.com/xxxx/xxxx.php?id=roskalendern&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" src="xxxx.js"></script>
<object width="300" height="150">
<div><img alt="" src="https://www.xxx.com/xxxx/xxxx.php?id=roskalendern&st=img" /></div>
</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.
<script src="https://javascript.nu/xxxx.js"></script>
<script src="https://javascript.nu/xxxx.js"></script>
<object width="300" height="150">
<div><img alt="" src="https://www.xxx.com/xxxx/xxxx.php?id=roskalendern&st=img" /></div>
</object>