2010-08-23 8 views
7

Tôi tải JQuery vào trang Typo3 của tôi bằng cách:Typo3: có được một javascript bao gồm theo "headerData" để tải trước một bao gồm theo "includeJS"

page.headerData.10.value = <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 

và tôi bao gồm javascript của tôi như thế này:

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

Điểm là, tôi cần JQuery tải trước. nhưng TYPO3 đặt nó sau kịch bản của tôi. Làm cách nào để đổi nó?

Cảm ơn

Trả lời

15

bạn không muốn bao gồm JQuery như vậy; Sử dụng

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

để thay thế.

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

Sửa Sử dụng một URL mà không cần một giao thức cụ thể (http hoặc https) đảm bảo sự bao gồm hoạt động trên cả SSL và không SSL các trang web.

+4

Hãy nhớ tránh sử dụng bất kỳ giao thức nào khi tải thư viện từ CDN… –

+0

@ YeppThat'sMe Tôi đã xóa giao thức khỏi ví dụ trên. –

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> 
    ) 

và có bạn cần niềng răng tròn ở đây :) Thay vì TEXT bạn cũng có thể sử dụng HTML.

chỉnh sửa: bạn cũng có thể làm điều đó như thế này

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> 
7

Tiện ích bổ sung nhỏ cho Patrick Schriner để bao gồm tất cả các tệp js chỉ trong một lần. Nó cũng sẽ đảm bảo các tệp được chọn được tải trước.

Bạn có thể thêm một dòng (forOnTop) để buộc jQuery của bạn được đưa vào trên cùng. Khác javascript thường dường như được bao gồm cuối cùng để tăng tốc độ tải của trang. Trong ví dụ này tôi bao gồm một số tệp. Cụ thể cho jQuery là jQuery [forceOnTop] đến ... tốt, selv giải thích tôi đoán.

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 
} 

Xin lưu ý rằng các số 1-4 và jQuery là tương đương. Tôi có thể viết 5 thay vì jQuery. Trong trường hợp đó, nó sẽ là:

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. Anders