Typo3 7.6 JS在迁移后部分无法正常工作

时间:2017-09-27 14:40:31

标签: javascript jquery typo3 tablesorter

我们最近从Typo3 6.2 LTS迁移到7.6 LTS。 现在我们的js有问题。

我确实包含了以下的.js图书馆:

  • jQuery 1.11
  • tablesorter(版本未知)
  • global.js(我称之为$(selector).tablesorter())

现在我收到一个错误,我没有得到Typo3 6.2 LTS。 错误说“$(selector).tablesorter不是函数”。

我检查了我的DOM树/使用过的js文件,我可以看到Typo3 7.6包含jQuery 2.1.4。 你认为这可能是这个功能的原因吗?

希望有人能够解决这个问题。非常感谢!

Greetz,Paddaels

2 个答案:

答案 0 :(得分:3)

我已经看到了这个问题many many times(只链接了我能快速找到的3个)。

基本上,jQuery的第一个版本获取绑定到它的所有插件($.fn),因此当加载jQuery的第二个副本时,文档就绪函数(位于DOM的下方)正在执行第二个不包含任何插件的版本。

修复:删除jQuery的第二个副本,或使用jQuery.noConflict()。它在this answer中有更详细的解释。

答案 1 :(得分:1)

问题是requireJS。

从6.2 LTS迁移到7.6 LTS Typo3现在使用requireJS。 jQuery,tablesorter(和其他一些图书馆)将自己注册为模块。

我们必须根据Typo3 7.6文档重写我们的代码。