【问题标题】:TYPO3: get a javascript included by "headerData" to load before one included by "includeJS"TYPO3:让“headerData”包含的javascript在“includeJS”包含的javascript之前加载
【发布时间】:2011-04-02 21:07:00
【问题描述】:

我正在通过以下方式将 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>

我正在像这样包含我的javascript:

page.includeJS {
  file20 = fileadmin/templates/myjq.js
} 

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

谢谢

【问题讨论】:

    标签: javascript typo3


    【解决方案1】:

    您不想以这种方式包含 JQuery;使用

    page.includeJSlibs.jquery.external = 1
    page.includeJSlibs.jquery = //ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js
    

    改为。

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

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

    【讨论】:

    • 从 CDN 加载库时切记避免使用任何协议...
    • @YeppThat'sMe 我从上面的示例中删除了协议。
    • 为什么我不想通过 includeJs 包含 jQuery?有什么区别?
    【解决方案2】:

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

    您可以添加一行 (forOnTop) 以强制将您的 jQuery 包含在顶部。其他 javascript 似乎更经常被包含在最后以加速页面的加载。在这个例子中,我包含了几个文件。具体到 jQuery 是 jQuery[forceOnTop] to ...好吧,我猜自己解释一下。

    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
    }
    

    请注意数字 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
    }
    

    BR。安德斯

    【讨论】:

      【解决方案3】:
      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>
          )
      

      是的,这里需要圆括号 :) 除了 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>
      

      【讨论】:

        猜你喜欢
        • 2011-12-04
        • 2017-05-11
        • 1970-01-01
        • 2023-03-24
        • 1970-01-01
        • 1970-01-01
        • 2011-11-11
        • 2014-11-14
        • 2015-07-24
        相关资源
        最近更新 更多