[英]Loading a html page with pure Javascript using AJAX
有一個主頁,並且該頁面上有鏈接。 單擊各個鏈接時,應該將鏈接加載的內容加載到主頁的div標簽中。
示例:MainPage.htm
<html> ...
<body> ...
<div id="MainContent"> </div> ...
<a href='Link1.htm'>Link 1 </a>
...
</html>
鏈接1.htm
<script src="main.js">...
<div> other contents here </div>
當用戶單擊鏈接1時,瀏覽器不會轉到該頁面,而是使用AJAX來獲取該鏈接的文檔並加載到#MainContent
。
但是,問題在於鏈接的頁面有一個表,並且在第一次加載時有一些表操作代碼需要運行。 實際上,鏈接的文檔具有指向單獨腳本的鏈接以及應該在window.onload
上運行的某些功能。
當我簡單地使用AJAX加載該鏈接文檔時,我正在使用以下方法:
MainContent.innerHTML = XHR.responseText;
這無助於在鏈接的文檔上運行window.onload
代碼。
有沒有針對此類問題的解決方案或解決方法?
僅作一點說明:我只是在使用Javascript,沒有其他API,例如angular或jQuery或類似的API。
您的方法有問題。 這里的主要問題是,由於window.onload已經完成,因此將不會執行通過ajax獲取的新內容的上下文。
當您引用“表操作代碼”時,我假設在將內容正確添加到html之后,需要執行幾個javascript函數,因此您可以在此處嘗試將這些“操作”移至單獨的位置js文件並將其包含在index.html中,並在通過ajax獲取內容后在成功回調中執行適當的功能。
我認為這應該是更准確的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.