2013-03-07 12 views
6

caso d'uso: Sto lavorando ad un costruttore di modello utente application.A può costruire modelli HTML utilizzando componenti diversi, come casella di testo, una finestra immagine, presentazione, eccAdd/append '<script>' tag in html utilizzando JavaScript/jQuery

problema: il problema che sto affrontando è con il component.We presentazione si utilizza un plug-in per la costruzione di nivoslider it.The cursore deve avere impostazioni come l'utente può cambiare il tempo di transizione, selezionare transizione utente etc.The possibile aggiungere più di diapositive.
Ora il problema è quando aggiungiamo più slideshow, ognuno può avere i suoi parametri, quindi non possiamo avere una funzione comune. Inoltre, l'utente può tornare a modificare il modello, quindi è necessario disporre di uno script indipendente per ogni Presentazione.

Reasearch: Abbiamo la base di lavoro struttura, ma bloccato in una sola place.We bisogno di aggiungere un tag ad ogni script SLIDESHOW aggiunto alla pagina da parte dell'utente.

return '<div id="slider" class="nivoSlider">'+ 
      '<div class="">'+ 
       '<img id="" class="image mover" style="position:absolute;left:0px;top:0px;" src="http://localhost/gobiggi_VS_2_2/images/slideShow/slide01.jpg" data-thumb="images/slideShow/thumb/slide01.jpg" alt="" />'+ 
      '</div>'+ 
      '<div class="">'+ 
       '<img id="" class="image mover" style="position:absolute;left:0px;top:0px;" src="http://localhost/gobiggi_VS_2_2/images/slideShow/slide02.jpg" data-thumb="images/slideShow/thumb/slide02.jpg" alt="" />'+ 
      '</div>'+ 
      '<div class="">'+ 
       '<img id="" class="image mover" style="position:absolute;left:0px;top:0px;" src="http://localhost/gobiggi_VS_2_2/images/slideShow/slide03.jpg" data-thumb="images/slideShow/thumb/slide03.jpg" alt="" />'+ 
      '</div>'+ 
      '<div class="">'+ 
       '<img id="" class="image mover" style="position:absolute;left:0px;top:0px;" src="http://localhost/gobiggi_VS_2_2/images/slideShow/slide04.jpg" data-thumb="images/slideShow/thumb/slide04.jpg" alt="" />'+ 
      '</div>'+ 
     '</div>'+'<script>$("#slider").nivoSlider({effect: "sliceDown",animSpeed: 500,pauseTime: 3000,startSlide: 0,controlNavThumbs: true,controlNavThumbsFromRel:true, pauseOnHover: true,manualAdvance: false});</script>'; 

Il tag sceneggiatura alla fine del codice è quello che stiamo cercando di aggiungere al codice HTML e salvarlo nella database.We provato avere un vuoto <div id="temp"></div> e aggiungendo il tag script in essa, ma Credo che jQuery esegua lo script e non lo salvi quindi otteniamo un div vuoto. Come possiamo archiviare il tag dello script nella struttura HTML e salvarlo nel database?

+2

'possono avere i propri parametri per essa, quindi non possiamo avere un function.' comune - non puoi fare una funzione che accetta quei parametri per differenziare tra i cursori? – Andy

+0

Anche se ognuno di essi può avere parametri separati, è comunque possibile avere una funzione. Consenti semplicemente all'utente di scegliere da un elenco di parametri e quindi di tener conto di tutti loro all'interno della funzione. se l'utente non ha selezionato un parametro, allora è escluso –

+1

Anche se non ne aggiungi più di uno, poiché è possibile avere un solo ID sulla pagina. Id sono singolari! – epascarello

risposta

5

Invece di scrivere direttamente il tag dello script, crearlo come oggetto e quindi aggiungerlo. Il browser dovrebbe rispettarlo quando hai creato l'elemento direttamente anziché passare una stringa.

var script = document.createElement("script"); 
script.type = "text/javascript"; 
script.src = "scriptname.js"; 
$("#temp").append(script); 

allora si può solo mettere il javascript che si desidera eseguire nel file di script esterno e dovrebbe funzionare bene

+0

Sì, l'ho provato, ma il problema è che devo pubblicarlo in seguito (cioè salvarlo) in un altro dominio creato dall'utente, quindi voglio averlo in linea invece che in esterno! Qualsiasi altro lavoro intorno? Grazie per la risposta – KillABug