Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我要将prototype.js与scriptaculous.js一起使用。。。什么';主要原因是什么?_Javascript_Scriptaculous - Fatal编程技术网

Javascript 为什么我要将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) {

为什么我要将prototype.js与scriptaculous.js一起使用?主要原因是什么?
何时需要这两个库?何时不需要?

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框架?
那么主要有三个原因:

  • 他们提供了很多我不想自己重新开发的东西
  • 它们经过了很好的测试;比我自己的代码更重要
  • 它们提供了一层跨浏览器兼容性(我更喜欢有一个处理这一问题的框架,而不是自己打这场战争!)
至于你应该使用哪个JS框架,那是另一个问题——完全由你决定^^


包括prototype.js和/或scriptaculous.js时:

  • prototype.js:在任何需要一些js内容的页面上(大多数页面通常)
  • scriptaculous.js:至少在需要拖放、自动完成等效果的页面上

其他JS框架也是如此,顺便说一句。

我已经使用prototype很长一段时间了,而且脚本编写能力很强;我现在在一些项目上使用jQuery,在其他项目上使用Mootools,在其他项目上使用prototype

为什么我要使用JS框架?
那么主要有三个原因:

  • 他们提供了很多我不想要的东西