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