簡體   English   中英

使用AJAX使用純Java腳本加載HTML頁面

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM