我是Typo 3的新手,我遇到了一个错误,我可以在你们的帮助下解决,但我并不完全理解为什么它会在第一时间发生。但由于它与原来的问题不同,我决定再问一次。 Original Question
所以我的问题是jetery和t3jquery(来自Typo3的jQuery直接)的区别是什么,为什么bootstrap只适用于第一个。
答案 0 :(得分:2)
t3jquery是一个扩展(不是来自核心!),可以选择构建你的个人jQuery包(jQuery版本和可能包含的jQuery模块),所以jQuery的javascript库最小化你的需求。您还可以通过CDN的一些点击来包含jQuery,这对于无法手动包含CDN源或将jquery版本复制到其服务器的开发人员来说更容易。 除本地之外的任何现成构建源都可能包含所有可能的jQuery模块。
单个jQuery库可能更快(加载更少的代码),但所有模块的大包含可能更快,因为此版本可能已经从其他方面加载 - IF 您正在使用CDN包括。
如果您使用来自TYPO3源的jQuery(另一个选项),您将确定它是可用的(没有其他域访问)并且它将是一个实际版本(就您更新TYPO3核心而言),但是访问者需要访问来自BE的文件,出于安全原因可能会限制以保护BE。
如果你想包含jQuery,可以像这样实现上面的选项:
基本包含与任何其他javascript文件一样
多种选择:
您存储在文件系统中某处的jquery的副本:
page.includeJSLibs {
jquery = fileadmin/JS/jquery.min.js
}
您存储在网站扩展程序中某处的jquery副本:
page.includeJSLibs {
jquery = EXT:site_abc/Resources/Public/JavaScript/jquery.min.js
}
包括外部像CDN
page.includeJSLibs {
jquery = //ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js
jquery.external = 1
}
来自TYPO3核心的jquery
page.javascriptLibs {
jQuery = 1
jQuery.source = local
}
来自CDN的jquery
page.javascriptLibs {
# include jQuery (boolean)
jQuery = 1
# Change the version
# (possible values: latest|1.7.2|…, default: latest)
# Note: jQuery.source has to be a CDN like "google"
# when jQuery.version is not "latest"
jQuery.version = latest
# Include from local or different CDNs
# (possible values: local|google|jquery|msn, default: local)
jQuery.source = jquery
# Set jQuery into its own scope to avoid conflicts (boolean)
jQuery.noConflict = 1
# Change the namespace when noConflict is activated
# and use jQuery with "TYPO3.###NAMESPACE###(…);"
# (string, default: jQuery)
jQuery.noConflict.namespace = ownNamespace
}
扩展t3jquery可以包含JS lib,但最好用它来将个性化的jQuery lib复制到你自己可以包含它的文件系统中。