Se ti capisco, la tua "pagina" è solo un contenitore per HTML che stai caricando in modo dinamico. All'interno di questo codice HTML sono presenti blocchi di script JavaScript che attualmente non vengono eseguiti. È corretto? Sono in script di pagina o link a nuovi file di script?
In ogni caso, credo che questo risponde alla tua domanda: How do you execute a dynamically loaded JavaScript block?
I miei pensieri:
A meno che il vostro contenitore è incredibilmente generica, e quindi non può sapere che cosa JavaScript potrebbe essere necessario, l'approccio più semplice è probabilmente per collegare manualmente tutto il tuo JavaScript alla tua pagina del contenitore, in modo che si carichi con il contenitore, magari miniato e concatenato in un singolo file.
Se è necessario caricare gli script in modo dinamico, ma si sa cosa sono, è possibile farlo con jQuery utilizzando .getScript() o .ajax(). Ho pensato che questa pagina scrivesse bene, http://www.electrictoolbox.com/jquery-dynamically-load-javascript-file/.
Analogamente, se non si conoscono gli script necessari fino a quando non si acquisisce il blocco HTML, è probabile che si possa analizzare il codice html per i collegamenti di script e collegarli manualmente tramite nuovi elementi di script aggiunti alla pagina. Ad esempio, lo script seguente aggiunge jQuery alla pagina se non esiste già.
(function() {
if (typeof(jQuery) == "undefined") {
var headID = document.getElementsByTagName("head")[0];
var newScript = document.createElement('script');
newScript.type = 'text/javascript';
newScript.id = 'myjQuery';
newScript.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js';
headID.appendChild(newScript);
}
window.addEventListener('load', function (e) {
//make jQuery calls here.
}, false);
})();
credo di aver appena trovato una buona risposta: http://api.jquery.com/jQuery.ajax/ dataType proprietà config: "" html" : Restituisce HTML come testo normale, tag di script inclusi vengono valutati quando ins erted nel DOM. " Ho intenzione di provarlo, ma questo suona proprio come quello che mi serve :) –
Sembra carino e facile. In bocca al lupo! – jatrim