scriptaculous1.7.0和Prototype1.5.1不兼容引起的问题

简介:     Scriptaculous1.7.0和Prototype1.5.1不兼容,在Scriptaculous的下载主页上已经注明了。不过,下载过后就把它忘记了,由于Scriptculous要求的1.5.0以后的Prototype,于是就下载了一个1.5.1版本,于是就出现了一个很严重的问题:        Stack overflow at line: 0 该错误出现在IE浏览器,在Firefox上可能是另外一个错误。
     Scriptaculous1.7.0Prototype1.5.1 不兼容,在Scriptaculous的下载主页上已经注明了。不过,下载过后就把它忘记了,由于Scriptculous要求的1.5.0以后的Prototype,于是就下载了一个1.5.1版本,于是就出现了一个很严重的问题:
        Stack overflow at line: 0 该错误出现在IE浏览器,在Firefox上可能是另外一个错误。

         出现问题的位置:
        在代码中使用 Element.setOpacity()函数。
        出现问题的原因:
        在Scriptaculous的 effect.jsprototype.js中重复定义了该方法,并且使用了继承,导致调用时形成无限递归。于是出现堆栈溢出错误。在Firefox中给出了堆栈溢出的位置是 prototype.js中的如下代码中:
1314 Element.extend.cache  =   {
1315   findOrStore: 
function(value) {
1316     
return this[value] = this[value] || function() {
1317       
return value.apply(null, [this].concat($A(arguments))); //在该行出现错误
1318     }

1319   }

1320 }
;

        解决方法:
        1、将prototype更换为低版本,即1.5.0(也只有这一个版本符合要求)
        2、将scriptaculous更换为高版本,即1.7.1 beta3(该版本声明兼容Prototype1.5.1)
目录
相关文章
|
7月前
|
JavaScript 前端开发 算法
undefined与null的区别
在JavaScript中,undefined和null都表示变量未被赋值或值缺失,但它们在使用场景上有一些区别。 - **`语义不同`**:undefined表示一个变量未被赋值或者声明后未进行初始化。而null表示一个变量被明确地设置为无值或者表示空值的概念。 - **`类型不同`**:undefined是一种基本数据类型,而null是一个引用类型。 - **`条件判断`**:在条件判断中,使用if (variable === undefined)或者if (variable === null)可以进行区分。
|
1月前
|
JavaScript 前端开发
__proto__和prototype的区别
`prototype`和`__proto__`虽然都与JavaScript的原型继承和对象关系密切相关,但它们的定义、所属对象、作用和功能等方面存在着明显的区别。理解它们之间的区别对于深入掌握JavaScript的面向对象编程和原型链机制非常重要
|
2月前
|
JavaScript 前端开发 大数据
在JavaScript中,Object.assign()方法或展开语法(...)来合并对象,Object.freeze()方法来冻结对象,防止对象被修改
在JavaScript中,Object.assign()方法或展开语法(...)来合并对象,Object.freeze()方法来冻结对象,防止对象被修改
32 0
|
7月前
|
JavaScript 前端开发
JavaScript中Object.prototype.toString.call()、instanceOf和Array.isArray()的区别
JavaScript中Object.prototype.toString.call()、instanceOf和Array.isArray()的区别
86 1
|
JavaScript 安全 前端开发
null和undefined的区别有哪些?
相同点 1.null和undefined都是js的基本数据类型 2.undefined和null都是假值(falsy),都能作为条件进行判断,所以在绝大多数情况下两者在使用上没有区别
1224 2
null和undefined区别
null和undefined区别
70 0
|
索引
ES6 —— 新增方法【Object.defineProperty()】
ES6 —— 新增方法【Object.defineProperty()】
|
Java
聊聊Prototype模式吧
聊聊Prototype模式吧
58 0
|
JavaScript 前端开发