Seni anlıyorum, "sayfanız" sadece dinamik olarak yüklediğiniz HTML için bir kaptır. Bu HTML'de şu anda yürütmeyen JavaScript komut blokları var. Bu doğru mu? Sayfa komut dosyalarında mı yoksa yeni komut dosyalarına bağlantılar mı? How do you execute a dynamically loaded JavaScript block?
Kendi düşüncelerini: kapsayıcı inanılmaz geneldir ve bu yüzden JavaScript gerekebilir bilmiyor sürece
, en basit yaklaşım muhtemelen
Her durumda, ben bu sorunuza yanıt düşünüyorum Tüm JavaScript'inizi kapsayıcı sayfanıza manuel olarak eklemek, böylece kapsayıcıyla yüklenmesini, belki de tek bir dosyada küçültülmesi ve birleştirilmesi.
dinamik olarak komut dosyaları yüklemeye gerek, ama ne olduklarını biliyorsanız, .getScript() veya .ajax() kullanarak jQuery ile bunu yapabilirsiniz. Bu sayfanın güzel bir şey olduğunu düşündüm, http://www.electrictoolbox.com/jquery-dynamically-load-javascript-file/.
Aynı şekilde, html bloğunuzu aldıktan sonra gereken betiklerin hangileri olduğunu bilmiyorsanız, komut dizileri için html'yi ayrıştırabilir ve bunları sayfaya eklenen yeni komut dosyası öğeleri aracılığıyla el ile ekleyebilirsiniz. Örnek olarak, aşağıdaki betik zaten mevcut değilse, sayfaya jQuery ekler.
(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);
})();
Ben sadece iyi bir cevap buldum ayarlayabilirsiniz : HTML'yi düz metin olarak döndürür, dahil edildiğinde komut dosyası etiketleri değerlendirilir DOM’ta toplandı. " Denemeye çalışacağım ama bu bana istediğim gibi geliyor :) –
Kulağa hoş geliyor. İyi şanslar! – jatrim