Visualforce + JQuery.
-
13-11-2019 - |
Domanda
Sto cercando di implementare un plugin JQuery Gallery in un sito Force.com.Ho caricato un file zip contenente tutti i file richiesti come risorsa statica.
Mi riferisco i fogli di stile e JavaScript come di seguito:
<apex:includeScript value="{!URLFOR($Resource.jqueryadgallery, 'jquerygallery/jquery.ad-gallery.js')}" />
<apex:stylesheet value="{!URLFOR($Resource.jqueryadgallery, 'jquerygallery/jquery.ad-gallery.css')}"/>
.
Questo funziona e sto ottenendo il CSS associato per il plugin (controlla qui qui - http://Coffeescripter.com/code/ad-gallery/ ).Ma l'unica parte che funziona è che le miniature dell'immagine vengono visualizzate con il bordo dell'immagine definito nel file CSS.Puoi vedere cosa ho fatto qui - http://fusedev-developer-edition.ap1.force.com/imitemo .Ho seguito la documentazione ma mi sembra che il JavaScript non funziona.
Qualsiasi aiuto apprezzato, Saluti
Soluzione
Ecco alcune cose da controllare:
- .
-
Salesforce utilizza il prototipo.js, che come jquery, utilizza il
$
della variabile globale.È sempre meglio fare qualcosa come$j = jQuery.noConflict();
nella parte superiore del tuo script per evitare jQuery dal prototipo di clobberamento.Avrai anche bisogno di cambiare tutto il tuo JavaScript per utilizzare$j
anziché$
per le cose jQuery. -
Sembra che il tuo script JQuery Plugin venga caricato prima di JQuery stesso.Assicurati che il tuo primo
apex:includeScript
carichi jQuery. -
Il mio browser sta segnalando un errore di sintassi nella pagina VF:
Altri suggerimenti
<apex:includeScript value="{!URLFOR($Resource.jquery, '/jquery/external/jquery/jquery.js')}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery, '/jquery/jquery-ui.min.js')}"/>
<script>
j$ = jQuery.noConflict();
if(j$){
alert('Success');
}else{
alert('Failure');
}
</script>
.