Es scheint, dass ich Scriptaculous falsch installiert habe, aber ich kann nicht herausfinden, was falsch ist. Hier ist ein Beispiel, um das Problem zu zeigen:
<html>
<body>
<script src="js/prototype.js" type="text/javascript"></script>
<script src="js/scriptaculous.js" type="text/javascript"></script>
<p id="hello">Hello, World!</p>
<a href="javascript:void(0)" onclick="Effect.Shrink('hello');">Shrink effect</a>
<a href="javascript:void(0)" onclick="$('hello').shrink();">Shrink method</a>
</body>
</html>
Wenn ich auf den Link "Shrink effect" klicke, erhalte ich die Javascript-Fehlermeldung "Effect is not defined". Wenn ich auf den Link "Methode schrumpfen" klicke, erhalte ich eine andere Fehlermeldung: "$("hallo").shrink ist keine Funktion".
Das Problem verschwindet, wenn ich explizit auf das Effektskript verweise:
<html>
<body>
<script src="js/prototype.js" type="text/javascript"></script>
<script src="js/scriptaculous.js" type="text/javascript"></script>
<script src="js/effects.js" type="text/javascript"></script> <!-- Added -->
<p id="hello">Hello, World!</p>
<a href="javascript:void(0)" onclick="Effect.Shrink('hello');">Shrink effect</a>
<a href="javascript:void(0)" onclick="$('hello').shrink();">Shrink method</a>
</body>
</html>
Dieser Workaround ist akzeptabel, aber kann Scriptaculous nicht alle seine Hilfsskripte automatisch laden? Es scheint, dass die Installationsanweisungen sagen, dass es so sein sollte.
Meine html-Datei und der js-Ordner befinden sich nicht im Root-Ordner des Webservers, sondern beide in einem Anwendungsordner. Ich sehe das gleiche Verhalten in Firefox 3.5.7 und Internet Explorer 8.0.