javascript - jquery

11 contenuti / 0 new
Ultimo contenuto
javascript - jquery

Utilizzo Drupal 6.17 e vorrei inserire javascript in un blocco.
Ho letto che jquery è già incluso in Drupal 6 e immagino che serva jquery per eseguire determinate funzioni come drupal_add_js.
A tal proposito ho letto in un forum http://drupal.it/node/6113 di inserire direttamente nel file .info del mio tema(garland) la seguente riga:
scripts[] = cinema.js
e di inserire il file cinema.js nella directory del miotema, quindi ho messo il file cinema.js nella directory "garland" e che basterebbe richiamare il file con la seguente istruzione:

<?php
drupal_add_js
(path_to_theme() .'/cinema.js');
?>

ma non mi funziona !! :)
Help !!

Non è necessario entrambi.

Il primo metodo (aggiungere una riga scripts[] = "cinema.js" nel file .info) fa che il file js è incluso in qualunque pagina.
Bisogna (probabilmente) pulire il cache della tema, poi controlla se c'è il correspettivo
<script type="text/javascript" src="/sites/default/tema/cinema.js"></script>
nel sorgente HTML della pagina.

Il secondo metodo viene usato nel template.php, in modo di includere il js programmaticamente, magari solo per certi tipi di pagine, ecc.

Più imparo, più dubito.

devo includere questo codice preso poi da mymovie in un blocco..

var sezione_default = "cinema"
var pagina_default = "trailer"
var volume = 20
var idfilm = 0

document.write('');
document.write('');

Se usi il bottone CODE si vede meglio. FTFY:

marco.latina wrote:
devo includere questo codice preso poi da mymovie in un blocco..
<script type="text/javascript">
var sezione_default = "cinema";
var pagina_default = "trailer";
var volume = 20;
var idfilm = 0;
document.write('<scr');
document.write('ipt language="JavaScript" type="text/javascript"');
document.write(' src="http://www.mymovies.it/gadget/trailer/script/?id='+idfilm+'&volume='+vol... charset="ISO-8859-1">');
document.write('</scr');
document.write('ipt>');
</script>

Ok. Questo è un script 'self modifying' che non dev'essere messo nel <head> ma proprio al posto dove apparirà il video. (Ho anche aggiunto qualche ';' mancante). FYI, se i valori dei var non cambiano, puoi ridurre questo codice a:
<script language="JavaScript" type="text/javascript" src="http://www.mymovies.it/gadget/trailer/script/?id=0&volume=20&sezione_def... charset="ISO-8859-1"></script>

In ogni caso l'uno o l'altro va messo nel blocco - e basta...

Più imparo, più dubito.

Thank you Jhon, sempre disponibile come al solito.
Il secondo script mi funziona, il primo no..
Naturalmente non posso modificare la larghezza-width del riquadro essendo self modifying o sbaglio ?

Ho detto una cavolata funziona anche la versione completa senza ";"
Comunque rimane la domanda, posso modificare la width del riquadro che mi appare ??
Grazie

Questo dipende dal widget non Drupal. Bisogna cercare la documentazione giusta - forse su http://www.mymovies.it/gadget/

Più imparo, più dubito.

Si puoi farlo, ma ti sconsiglio di usare il document.write con jquery, usa le funzioni $.html() native, che ti salvano da un pò di casini :)

Ciao
Marco
--
My blog
Working at @agavee

ciao ragazzi volevo chiedervi un informazione io ho creato un file js e l' ho caricato tramite un blocco, ma il risultato del js non mi compare dentro il blocco ma bensi nel header, il codice del mio js è questo :::

// JavaScript Document
var monthNames = new Array("gennaio", "febbraio", "marzo", "aprile", "maggio", "giugno", "luglio", "agosto", "settembre", "ottobre", "novembre", "dicembre");
var DaysOfWeek = new Array("Domenica", "Luned&igrave;", "Marted&igrave;", "Mercoled&igrave;", "Gioved&igrave;", "Venerd&igrave;", "Sabato");
var now = new Date();
var thisYear = now.getYear();
if(thisYear<=1900){thisYear+=1900}
var mins=now.getMinutes();
if(mins<=9){mins="0"+mins}
var secs=now.getSeconds();
if(secs<=9){secs="0"+secs}
var santo = "";
var mese = now.getMonth() + 1;
var giorno = now.getDate();
if(mese==1) {
if(giorno==1) { santo="Maria SS. Madre di Dio"}
if(giorno==2) { santo="Ss. Basilio Magno e Gregorio Nazianzeno, martiri"}
if(giorno==3) { santo="SS. Nome di Ges&ugrave;"}
if(giorno==4) { santo="S. Elisabetta Bayley Seton"}
if(giorno==5) { santo="S. Amelia"}
if(giorno==6) { santo="Epifania del Signore"}
if(giorno==7) { santo="S. Raimondo de Peñafort"}
if(giorno==8) { santo="S. Severino"}
if(giorno==9) { santo="S. Marcellino"}
if(giorno==10) { santo="S. Aldo"}
if(giorno==11) { santo="S. Igino"}
if(giorno==12) { santo="S. Cesira"}
if(giorno==13) { santo="Battesimo del Signore"}
if(giorno==14) { santo="S. Felice da Nola"}
if(giorno==15) { santo="S. Mauro"}
if(giorno==16) { santo="S. Marcello I, Papa"}
if(giorno==17) { santo="Sant'Antonio, abate"}
if(giorno==18) { santo="S. Margherita d'Ungheria, Principessa e religiosa"}
if(giorno==19) { santo="S. Mario e familiari, Martiri"}
if(giorno==20) { santo="S. Sebastiano, martire"}
if(giorno==21) { santo="Sant'Agnese, Vergine e martire"}
if(giorno==22) { santo="S. Vincenzo di Saragozza, Diacono e martire"}
if(giorno==23) { santo="Sant'Ildefonso (Idelfonso) da Toledo, Vescovo"}
if(giorno==24) { santo="S. Francesco di Sales, Vescovo e dottore della Chiesa"}
if(giorno==25) { santo="Conversione di San Paolo Apostolo"}
if(giorno==26) { santo="Ss. Timoteo e Tito, vescovi"}
if(giorno==27) { santo="Sant'Angela Merici, Vergine"}
if(giorno==28) { santo="S. Tommaso d'Aquino, Sacerdote e dottore della Chiesa"}
if(giorno==29) { santo="Beata Arcangela Girlani, Vergine"}
if(giorno==30) { santo="S. Giacinta Marescotti, Religiosa"}
if(giorno==31) { santo="S. Giovanni Bosco, Sacerdote"}
}
[cut]
document.write(DaysOfWeek[now.getDay()] + ' ' + now.getDate() + ' ' + monthNames[now.getMonth()] + ' ' + thisYear + '<br /><b>' + santo + '</b>');

cosa sto sbagliando perche non mi compare dentro il blocco ama bensi in alto sulla sinistra?
aiuto non so dove sto sbagliando

Innazitutto:

  • per codice cosi lungo mettine solo un estratto (possibilmente la parte interessante :) )
  • usa il pulsante code per permettere una migliore separazione.

Per quanto riguarda il tuo problema, immagino che lo script lo stia mettendo nell'header, pertanto il document.write lo scrive alll'inizio. Se vuoi farlo apparire in un punto specifico, non puoi usare il document.write ma devi recuperare l'elemento in cui inserire il risultato (getElementById()) e poi usare la proprietà innerHtml di questo.

In alternativa puoi inserire il tag script direttamente dove vuoi far apparire il risultato.

Personalmente seguirei la prima strada, meglio ancora se riscrivendo un attimo il tutto per usare le funzioni di jQuery che abbiamo a disposizione (più leggibile, mantenibile e crossplatform).

Ciao
Marco
--
My blog
Working at @agavee

Aggiungo che potresti utilizzare anche servizi dedicati tipo http://pastebin.com :D

Concludo dicendo che

  1. esistono le strutture switch/case
  2. esistono gli oggetti

:D

Buon lettura!