0026: var Scriptaculous = {
0027: Version: '1. 8.1',
0028: require: function(libraryName) {
0029: // inserting via DOM fails in Safari 2. 0, so brute force approach
0030: document.write('<script type="text/ javascript" src="'+libraryName+'"><\/script>');
0031: },
0032: REQUIRED_ PROTOTYPE: '1. 6.0',
28行目のScriptaculous.
Safari 2.
32行目で,
0033: load: function() {
0034: function convertVersionString(versionString){
0035: var r = versionString. split('.');
0036: return parseInt(r[0])*100000 + parseInt(r[1])*1000 + parseInt(r[2]);
0037: }
0038:
0039: if((typeof Prototype=='undefined') ||
0040: (typeof Element == 'undefined') ||
0041: (typeof Element. Methods=='undefined') ||
0042: (convertVersionString(Prototype. Version) <
0043: convertVersionString(Scriptaculous. REQUIRED_ PROTOTYPE)))
0044: throw("script. aculo. us requires the Prototype JavaScript framework >= " +
0045: Scriptaculous. REQUIRED_ PROTOTYPE);
0046:
0047: $A(document.getElementsByTagName("script")).findAll( function(s) {
0048: return (s. src && s. src. match(/scriptaculous\.js(\?.*)?$/))
0049: }).each( function(s) {
0050: var path = s. src. replace(/scriptaculous\.js(\?.*)?$/,'');
0051: var includes = s. src. match(/\?.*load=([a-z,]*)/);
0052: (includes ? includes[1] : 'builder,effects,dragdrop,controls,slider,sound').split(',').each(
0053: function(include) { Scriptaculous. require(path+include+'.js') });
0054: });
0055: }
0056: }
0057:
0058: Scriptaculous. load();
33行目のScriptaculous.
34~38行目のconvertVersionStringは,
39~46行目で,
47行目で,
48行目で,
9~51行目で,
52行目で,