TYPO3:获取"headerData"所包含的javascript,以便在"includeJS"包含的内容之前加载

nov*_*nce 7 javascript typo3

我正在通过以下方式将JQuery加载到我的TYPO3页面中:

page.headerData.10.value = <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

我包括我的这样的JavaScript:

page.includeJS {
  file20 = fileadmin/templates/myjq.js
} 
Run Code Online (Sandbox Code Playgroud)

重点是,我需要首先加载JQuery.但TYPO3把它放在我的脚本之后.我怎么换掉它?

谢谢

小智 15

你不想那样包含JQuery; 使用

page.includeJSlibs.jquery.external = 1
page.includeJSlibs.jquery = //ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js
Run Code Online (Sandbox Code Playgroud)

代替.

http://typo3.org/documentation/document-library/core-documentation/doc_core_tsref/4.3.2/view/1/6/

编辑 使用没有特定协议(http或https)的URL可确保包含在SSL和非SSL站点上均可使用.

  • 从CDN加载库时,请记住避免使用任何协议... (4认同)

Til*_*eck 7

Patrick Schriner的小插件,可以一次性包含所有js文件.它还将确保首先加载所选文件.

您可以添加一行(forOnTop)以强制将jQuery包含在顶部.为了加快页面的负载,似乎最常包含javascript javascript.在这个例子中,我包括几个文件.具体的jQuery是jQuery [forceOnTop]来......好吧,selv解释我猜.

includeJS {
   1 = fileadmin/templates/website/scripts/javascript.js
   2 = EXT:ogelementslide/res/jquery.easing.1.3.js
   3 = EXT:ogelementslide/res/jquery.easing.compatibility.js
   4 = EXT:ogelementslide/res/jquery.bxSlider.min.js
   jquery = http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js
   jquery.external = 1
   jquery.forceOnTop = 1
}
Run Code Online (Sandbox Code Playgroud)

请注意,数字1-4和jQuery是等价的.我本可以写5而不是jQuery.在那种情况下,它将是:

includeJS {
   1 = fileadmin/templates/website/scripts/javascript.js
   2 = EXT:ogelementslide/res/jquery.easing.1.3.js
   3 = EXT:ogelementslide/res/jquery.easing.compatibility.js
   4 = EXT:ogelementslide/res/jquery.bxSlider.min.js
   5 = http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js
   5.external = 1
   5.forceOnTop = 1
}
Run Code Online (Sandbox Code Playgroud)

BR.安德斯


Rit*_*ito 6

page.headerData.10 = TEXT    
page.headerData.10.value (
     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
     <script type="text/javascript" src="fileadmin/templates/myjq.js"></script>
    )
Run Code Online (Sandbox Code Playgroud)

是的,你需要圆括号:)而不是TEXT你也可以使用HTML.

编辑:你也可以这样做

page.headerData.10.value = <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
page.headerData.20.value = <script type="text/javascript" src="fileadmin/templates/myjq.js"></script>
Run Code Online (Sandbox Code Playgroud)