2010-08-23 15 views
7

sto loading JQuery nella mia pagina TYPO3 da:TYPO3: ottenere un javascript incluso da "headerData" per caricare prima di quello incluso da "includeJS"

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

e sto compreso il mio javascript in questo modo:

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

Il punto è che ho bisogno del JQuery per essere caricato prima. ma TYPO3 lo mette dopo il mio script. Come faccio a scambiarlo?

Grazie

risposta

15

non si desidera includere JQuery in quel modo; Utilizzare

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

invece.

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

Modifica utilizzo di un URL senza uno specifico protocollo (http o https) si assicura l'inclusione funziona sia SSL e non-SSL-siti.

+4

Ricordarsi di evitare l'uso di qualsiasi protocollo durante il caricamento di librerie da CDN ... –

+0

@ YeppThat'sMe Ho rimosso il protocollo dall'esempio sopra. –

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

e sì avete bisogno di parentesi tonde qui :) al posto del testo è anche possibile usare l'HTML.

edit: è anche possibile fare in questo modo

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

Piccolo add-on per Patrick Schriner per includere tutti i file js in una volta. Assicurerà inoltre che i file selezionati vengano caricati per primi.

È possibile aggiungere una linea (forOnTop) per forzare la jQuery da includere nella parte superiore. Altrimenti javascript più spesso sembra essere incluso per accelerare il caricamento della pagina. In questo esempio includo diversi file. Specifico per il jQuery è il jQuery [forceOnTop] per ... beh, selv spiegando credo.

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 
} 

Si prega di notare che i numeri 1-4 e jQuery sono equivalenti. Avrei potuto scrivere 5 invece di jQuery. In quel caso sarebbe stato:

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

Problemi correlati