У меня сегодня было слишком много кофе, поэтому я решил, что попробую.
Одной из возможностей является функция load в scriptaculous.js , которая неправильно выполняет обработку для включения библиотек, переданных ей в качестве параметров (scriptaculous.js? Load = строитель, эффекты) .
Попробуйте добавить предупреждение, чтобы увидеть, вводится ли функция загрузки в scriptaculous.js, если это так, то процесс, вероятно, не делает то, что должен делать на FF2:
load: function() {
alert('In the load function!');
...rest of code here...
Если это не так, то (возможно) firefox 2 не хочет выполнять загрузку.
Последняя часть загрузки, кажется, делает работу для включения других библиотек:
$A(document.getElementsByTagName("script")).findAll( function(s) {
return (s.src && s.src.match(/scriptaculous\.js(\?.*)?$/))
}).each( function(s) {
var path = s.src.replace(/scriptaculous\.js(\?.*)?$/,'');
var includes = s.src.match(/\?.*load=([a-z,]*)/);
(includes ? includes[1] : 'builder,effects,dragdrop,controls,slider,sound').split(',').each(
function(include) { Scriptaculous.require(path+include+'.js') });
});
Из приведенного выше кода я вижу, что включает переменную , которая должна анализировать имена библиотек, посмотреть, назначено ли что-нибудь, заменить на что-то вроде:
var includes = s.src.match(/\?.*load=([a-z,]*)/);
alert(includes[0] + ' ' + includes[1]);
Это должно дать вам лучшее представление о том, что происходит. Хотя это небольшая интересная проблема, я бы определенно остановился на предложенном вами решении:
<script type="text/javascript" src="/javascripts/scriptaculous.js"></script>
<script type="text/javascript" src="/javascripts/builder.js"></script>
<script type="text/javascript" src="/javascripts/effects.js"></script>