我遇到一個問題,我使用JavaScript將ajax HTML內容加載到頁面上的元素,並試圖在加載的內容中執行JavaScript,但這不起作用。JavaScript沒有在Ajax加載內容上執行(沒有jQuery)
我不是(也不能)在這個項目上使用jQuery。
中的JavaScript我使用加載Ajax內容的樣子:
var loadedobjects = "";
var rootDomain = "http://" + window.location.hostname;
function ajaxPage(url, containerId){
var pageRequest = false;
pageRequest = new XMLHttpRequest();
pageRequest.onreadystatechange = function(){
loadpage(pageRequest, containerId);
}
preventCache = (url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime();
pageRequest.open('GET', url+preventCache, true);
pageRequest.send(null);
}
function loadpage(pageRequest, containerId){
if (pageRequest.readyState == 4 && (pageRequest.status==200 || window.location.href.indexOf("http") == -1)){
document.getElementById(containerId).innerHTML = pageRequest.responseText;
}
}
正如你所看到的,我通過一個URL(HTML頁面),以功能ajaxPage()
的ajaxPage()
函數被調用在一個單獨的.js文件中,就像這樣:
ajaxPage('test.html', 'ajax-wrapper');
這是工作,的test.html正在裝入ID爲'ajax-wrapper'的元素,但test.html頁面中沒有JavaScript正在工作。
這裏是的test.html頁面的樣子(只是普通的HTML):
<div class="t-page-title">
View Thread
</div>
<script>
alert('hello');
</script>
即使是一個簡單alert('hello');
上加載HTML不點火。該頁面沒有被緩存,所以這不是問題。如果我使用jQuery,我會知道該怎麼做,但是對於找到一個僅限於JavaScript的解決方案,我有點困惑。有什麼建議麼?
如何這段代碼實際上叫做?現在它實際上並沒有任何東西。 –
ajaxPage函數在獨立的.js文件中調用ajaxPage('test.html','ajax-wrapper');'正在工作,正在加載** test.html **內容,但沒有javascript是在加載的內容中工作 –
「test.html」中究竟有什麼內容? –