prototype.js und Smarty
Beim Einsatz von prototype.js in meinen Smarty-Templates bin ich auf folgendes gestoßen:
Hier wird mehrjavascript.js nicht geladen:
{literal}
<script type="text/javascript" src="/js/prototype.js"/>
<script type="text/javascript" src="/js/mehrjavascript.js"></script>
{/literal}
hier schon:
{literal}
<script type="text/javascript" src="/js/prototype.js"></script>
<script type="text/javascript" src="/js/mehrjavascript.js"></script>
{/literal}
Man beachte den Unterschied mit dem direkt geschlossenen script-tag und dem getrennt aufgeführten “closure-tag”. Vielleicht hängt das mit dem internen parsing zusammen? Ich konnte es nicht näher verifizieren, hat mich aber doch einiges an Zeit gekostet.
Kann dieses Verhalten jemand bestätigen?
2 Kommentare zu “prototype.js und Smarty”
01.07.2007 um 17:16 Uhr
Ich würde das sogar als durchaus korrekt bezeichnen, denn in der DTD für XHTML ist nicht als leeres Element definiert. SelfHTML gibt auch die Empfehlung, bei solchen als “nicht leer” definierten Elementen lieber die volle Form zu verwenden: http://de.selfhtml.org/html/xhtml/unterschiede.htm#leere_elemente
01.07.2007 um 17:54 Uhr
Wobei z.B. der Validator von W3C:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Test</title>
</head>
<body>
<script type="text/javascript" src="/js/prototype.js"/>
</body>
</html>
als:
This Page Is Valid XHTML 1.0 Strict!
bezeichnet.
Das wichtigste ist ja das es funktioniert
Aber danke für “hint”.