NivoSlider在magento上运行不顺畅

我正在尝试在我的magento安装上实现nivoslider 。 我只是将下载的演示包中的内容 (我已经在我的Firefox上测试并运行得非常流畅)复制到magento上。 我做了所有的功课

  • 将所有必需的js和css文件复制到我主题的皮肤文件夹中
  • 在page.xml上添加这些文件

     css/styles.css ... css/nivo-slider.css css/themes/default/default.css css/themes/default/pascal.css css/themes/default/orman.css skin_jsjs/jquery-1.6.2-no-conflict.js ... skin_jsjs/jquery.nivo.slider.pack.js skin_jsjs/my_own_custom_script.js ...  
  • 复制magento cms页面上的滑块html部分

在此处输入图像描述

  • 最后添加jQuery(document).ready(function($) { $('#slider').nivoSlider(); }); 到my_own-custom_script.js

它运行,但不顺利。 有时幻灯片暂停了一段时间。 其他时候,其中一张图片幻灯片不会显示出来。 动画也有点闪烁。 滑块导航(上一个下一个按钮和滑块底部的圆圈)有时会在我的点击事件中无响应。 令我感到困惑的是,所有这些症状有时会发生,有些时候它运行良好。

哦,还有一件事,这个nivoslider每次我用firebug检查它的一个元素时也会让我的firefox崩溃。

谁能给我一些线索,为什么会发生这种情况? 我怀疑这与magento的Prototype脚本的冲突有关(尽管它已经在noconflict模式下运行)

经过一番挖掘,我找到了解决方案……解决方案非常简单:就像在nivoslider脚本中添加一个小的下划线字符一样简单。 只需在nivoslider脚本上替换这一行:

 $.fn._reverse = [].reverse; 

对此

 $.fn._reverse = []._reverse; 

以下是需要解释的人的解释:

如果你在使用nivoslider时看到错误列表(使用firefox,ctrl + shift + j),你会发现原型得到了太多的递归。 这就是原型的“过多递归”的解释: 原型太多的递归问题 。

在Prototype上使用反向函数已经与NivoSlider发生冲突。 github上的人发现了这个问题,并给出了一个快速解决方案: https : //github.com/gilbitron/Nivo-Slider/issues/35

这个问题让我抓狂,因为到处都没有足够的资源(尝试google它,你会发现这个问题没有直接答案)。 所以我希望我的问题,以及我自己的答案可以帮助其他人与我同样的情况:)

最近开始在一个已经开发了一段时间的网站上看到这个。 眼看:

 Uncaught RangeError: Maximum call stack size exceeded Object.extend.reverse 

在Chrome的控制台中。 ‘Object.extend.reverse’细节引用原型行881.我不是一个javascript人,所以这是一个更适合其他人的细节。

/skin/frontend/gas/default/js/jquery.nivo.slider.pack.js被加载,所以它必须是一些冲突,可能是新的jQuery版本或其他东西。

我想你可以切换到另一个滑块。 我最近发现BX滑块并且喜欢它,虽然还没有在Magento项目中使用它,所以不能说兼容性而且你已经修复了它,所以…