说我有以下代码:
<div id="dashboard">
Loading Dashboard.....
</div>
<script>
var xhttpDashboard = new XMLHttpRequest();
xhttpDashboard.onreadystatechange = function() {
if (xhttpDashboard.readyState == 4 && xhttpDashboard.status == 200) {
document.getElementById("dashboard").innerHTML = xhttpDashboard.responseText;
}
};
xhttpDashboard.open("GET", "https://www.example.com/getdashboard.html", true);
xhttpDashboard.send();
</script>
getdashboard.html 会返回html,而html又包含更多要执行的javascript XMLHttpRequest。我发现这些第二组XMLHttpRequests没有执行。
如何才能执行第二组javascript?
更新 发现这篇文章很有用: https://24ways.org/2005/have-your-dom-and-script-it-too
答案 0 :(得分:0)
如果你使用jQuery,有一个简单的答案。
使用不带后缀选择器表达式的URL调用.load()时,在删除脚本之前将内容传递给.html()。
所以使用jQuery你可以做到:
<div id="dashboard">
Loading Dashboard.....
</div>
<script>
$("#dashboard").load("https://www.example.com/getdashboard.html");
</script>
将执行脚本标记。
此功能的文档位于此处:https://api.jquery.com/load/