0

我想知道是否有人可以在这里给我一个线索。此页面上有一些选项卡切换内容http://www.brt.org.uk/donate

我相信它适用于 Safari、Chrome 和 IE 直到版本 8,但不适用于 Firefox 和 IE 9。这对我来说是个谜,因为它曾经在所有浏览器中都能很好地工作。

我会很感激任何想法。

有这个脚本可以做到这一点,它使用了 Mootools http://www.brt.org.uk/plugins/tabcontrol/tabcontrol.js

非常感谢您的帮助!

4

1 回答 1

2

您正在使用 mootools 1.2.1 - 3 岁以上。有两个问题会影响它。

  1. 引入的 firefox 18.0.1String.prototype.contains在实现上与 mootools 附带的版本不同。在 1.3 版之前,该方法未被“保护”并被 mootools 重写,因此更改会破坏选择器引擎。

  2. 由于与实现有关的更改,1.2.1 可能与 IE9 不兼容bind。这在 1.2.4(或 5)中已修复,它还与旧 mootools 中使用的某些浏览器嗅探方法有关。请参阅 1.2.5 的发行说明 - http://mootools.net/blog/2010/09/15/mootools-core-1-2-5/ - 这些可能不会影响每个站点/用例,但是当它们这样做时,您需要升级。

总的来说,您需要升级 - 我建议 1.4.5 与 mootools 网站的兼容性。

这个选项卡类写错了:

TabControl = new Class();
// ..
TabControl.prototype = {
    // stuff
}

这完全绕过了 mootools 类构造函数,该函数在设置原型以继承和取消引用构造函数对象方面做了很多工作。

改写为

var tabControl = new Class({
    // 'methods' and properties... 
});
于 2013-02-13T09:39:22.317 回答