Javascript 为什么我要将prototype.js与scriptaculous.js一起使用。。。什么';主要原因是什么?
为什么我要将prototype.js与scriptaculous.js一起使用?主要原因是什么?Javascript 为什么我要将prototype.js与scriptaculous.js一起使用。。。什么';主要原因是什么?,javascript,scriptaculous,Javascript,Scriptaculous,为什么我要将prototype.js与scriptaculous.js一起使用?主要原因是什么? 何时需要这两个库?何时不需要?scriptaculous.js文件是一个帮助文件,其中包括使用document.write调用的其余脚本 从scriptaculous.js文件中编写的代码中可以看到,它通过调用require函数包括生成器、效果等库 var Scriptaculous = { Version: '1.8.2', require: function(libraryName) {
何时需要这两个库?何时不需要?scriptaculous.js文件是一个帮助文件,其中包括使用document.write调用的其余脚本 从scriptaculous.js文件中编写的代码中可以看到,它通过调用
require
函数包括生成器、效果等库
var Scriptaculous = {
Version: '1.8.2',
require: function(libraryName) {
// inserting via DOM fails in Safari 2.0, so brute force approach
document.write('<script type="text/javascript" src="'+libraryName+'"><\/script>');
},
REQUIRED_PROTOTYPE: '1.6.0.3',
load: function() {
function convertVersionString(versionString) {
var v = versionString.replace(/_.*|\./g, '');
v = parseInt(v + '0'.times(4-v.length));
return versionString.indexOf('_') > -1 ? v-1 : v;
}
if((typeof Prototype=='undefined') ||
(typeof Element == 'undefined') ||
(typeof Element.Methods=='undefined') ||
(convertVersionString(Prototype.Version) <
convertVersionString(Scriptaculous.REQUIRED_PROTOTYPE)))
throw("script.aculo.us requires the Prototype JavaScript framework >= " +
Scriptaculous.REQUIRED_PROTOTYPE);
var js = /scriptaculous\.js(\?.*)?$/ig;
$$('head script[src]').findAll(function(s) {
return s.src.match(js);
}).each(function(s) {
var path = s.src.replace(js, ''),
includes = s.src.match(/\?.*load=([a-z,]*)/);
(includes ? includes[1] : 'builder,effects,drag-drop,controls,slider,sound').split(',').each(
function(include) { Scriptaculous.require(path+include+'.js') });
});
}
};
Scriptaculous.load();
var Scriptaculous={
版本:“1.8.2”,
要求:函数(libraryName){
//在Safari 2.0中,通过DOM插入失败,因此采用暴力方法
文件。写(“”);
},
要求的_原型:“1.6.0.3”,
加载:函数(){
函数convertVersionString(versionString){
变量v=versionString.replace(/.*.\./g');
v=parseInt(v+'0'。乘以(4-v.length));
返回版本字符串indexOf(“”“)>-1?v-1:v;
}
if((原型类型=='undefined')||
(元素的类型==“未定义”)||
(元素的类型。方法=='undefined')||
(convertVersionString(Prototype.Version)<
convertVersionString(Scriptaculous.REQUIRED_PROTOTYPE)))
throw(“script.aculo.us需要原型JavaScript框架>=”+
脚本式。所需的_原型);
var js=/scriptaculous\.js(\?*)$/ig;
$$('headscript[src]')。findAll(函数){
返回s.src.match(js);
}).每个功能{
var path=s.src.replace(js,,),
includes=s.src.match(/\?.*load=([a-z,]*)/);
(包括?包括[1]:“生成器、效果、拖放、控件、滑块、声音”)。拆分(“,”)。每个(
函数(include){Scriptaculous.require(path+include+'.js')};
});
}
};
Scriptaculous.load();
我们之所以包含原型库,是因为scriptaculous是一种基于原型库的附加组件。如果没有prototype,则无法使用scriptaculous,因为它调用prototype库中可用的方法。scriptaculous.js文件是一个帮助文件,其中包括使用document.write调用的其余脚本 从scriptaculous.js文件中编写的代码中可以看到,它通过调用
require
函数包括生成器、效果等库
var Scriptaculous = {
Version: '1.8.2',
require: function(libraryName) {
// inserting via DOM fails in Safari 2.0, so brute force approach
document.write('<script type="text/javascript" src="'+libraryName+'"><\/script>');
},
REQUIRED_PROTOTYPE: '1.6.0.3',
load: function() {
function convertVersionString(versionString) {
var v = versionString.replace(/_.*|\./g, '');
v = parseInt(v + '0'.times(4-v.length));
return versionString.indexOf('_') > -1 ? v-1 : v;
}
if((typeof Prototype=='undefined') ||
(typeof Element == 'undefined') ||
(typeof Element.Methods=='undefined') ||
(convertVersionString(Prototype.Version) <
convertVersionString(Scriptaculous.REQUIRED_PROTOTYPE)))
throw("script.aculo.us requires the Prototype JavaScript framework >= " +
Scriptaculous.REQUIRED_PROTOTYPE);
var js = /scriptaculous\.js(\?.*)?$/ig;
$$('head script[src]').findAll(function(s) {
return s.src.match(js);
}).each(function(s) {
var path = s.src.replace(js, ''),
includes = s.src.match(/\?.*load=([a-z,]*)/);
(includes ? includes[1] : 'builder,effects,drag-drop,controls,slider,sound').split(',').each(
function(include) { Scriptaculous.require(path+include+'.js') });
});
}
};
Scriptaculous.load();
var Scriptaculous={
版本:“1.8.2”,
要求:函数(libraryName){
//在Safari 2.0中,通过DOM插入失败,因此采用暴力方法
文件。写(“”);
},
要求的_原型:“1.6.0.3”,
加载:函数(){
函数convertVersionString(versionString){
变量v=versionString.replace(/.*.\./g');
v=parseInt(v+'0'。乘以(4-v.length));
返回版本字符串indexOf(“”“)>-1?v-1:v;
}
if((原型类型=='undefined')||
(元素的类型==“未定义”)||
(元素的类型。方法=='undefined')||
(convertVersionString(Prototype.Version)<
convertVersionString(Scriptaculous.REQUIRED_PROTOTYPE)))
throw(“script.aculo.us需要原型JavaScript框架>=”+
脚本式。所需的_原型);
var js=/scriptaculous\.js(\?*)$/ig;
$$('headscript[src]')。findAll(函数){
返回s.src.match(js);
}).每个功能{
var path=s.src.replace(js,,),
includes=s.src.match(/\?.*load=([a-z,]*)/);
(包括?包括[1]:“生成器、效果、拖放、控件、滑块、声音”)。拆分(“,”)。每个(
函数(include){Scriptaculous.require(path+include+'.js')};
});
}
};
Scriptaculous.load();
我们之所以包含原型库,是因为scriptaculous是一种基于原型库的附加组件。如果没有prototype,则无法使用scriptaculous,因为它调用prototype库中可用的方法。使用,因此如果在页面上使用任何scriptaculous效果,则需要将其包括在内
如果您看不到Scriptaculous的任何明显用途,那么您可能已经有了其他使用Prototype的javascript,它为编写简洁有效的代码提供了一种跨平台的实用程序层。检查这一点的一个快速方法是查找javascript,其中包括对$()使用的调用,因此如果您在页面上使用任何Scriptaculous效果,则需要包含它
如果您看不到Scriptaculous的任何明显用途,那么您可能已经有了其他使用Prototype的javascript,它为编写简洁有效的代码提供了一种跨平台的实用程序层。检查这一点的快速方法是查找javascript,包括对$()的调用。Scriptaculous在内部使用Prototype。如果使用Scriptaculous,则需要原型。Scriptaculous在内部使用原型。如果你使用Scriptaculous,你需要Prototype。我使用Prototype已经有一段时间了,Scriptaculous与它一起使用;我现在在一些项目上使用jQuery,在其他项目上使用Mootools,在其他项目上使用prototype 为什么我要使用JS框架?
那么主要有三个原因:
- 他们提供了很多我不想自己重新开发的东西
- 它们经过了很好的测试;比我自己的代码更重要
- 它们提供了一层跨浏览器兼容性(我更喜欢有一个处理这一问题的框架,而不是自己打这场战争!)
包括prototype.js和/或scriptaculous.js时:
- prototype.js:在任何需要一些js内容的页面上(大多数页面通常)
- scriptaculous.js:至少在需要拖放、自动完成等效果的页面上
其他JS框架也是如此,顺便说一句。我已经使用prototype很长一段时间了,而且脚本编写能力很强;我现在在一些项目上使用jQuery,在其他项目上使用Mootools,在其他项目上使用prototype 为什么我要使用JS框架?
那么主要有三个原因:
- 他们提供了很多我不想要的东西