我有以下代码在colorbox中显示图像:
<script type="text/javascript">
(function($){
$('a.gallery').colorbox({rel:'gal'});
})(jQuery);
</script>
我正在研究的CMS是一团糟。
它有原型,jquery,jquery-ui等等。
在Firebug控制台中,我得到以下信息:
数组长度无效
[打破此错误]
这[i] =这[i + 1];
prototype.js第387行(版本1.4.0) 这是:
shift: function() {
var result = this[0];
for (var i = 0; i < this.length - 1; i++)
this[i] = this[i + 1];
this.length--;
return result;
},
我得到的只是一个褪色的背景和颜色框角落加载(角落不会移除)。
jQuery.noConflict();也没用。
请帮忙!
答案 0 :(得分:0)
好的,想通了。它正在发生,因为prototype.js扩展了(在许多其他之中)本机Array.prototype.shift
函数,并且该扩展包含导致错误的错误。 jQuery在[第2109行](https://github.com/jquery/jquery/blob/1.7.2/jquery.js#L2109)和其他地方使用shift
。这就是它让我失望的地方。
我不认为这会对用户1722113有所帮助,但希望它可以帮助某人下线。
我只能想到两个解决方案: