总而言之,我知道我们可以使用load方法将动态内容加载到 div 中。但就我而言,我在使用时发现了一个问题。如果要在完全相同的页面中加载包含一些外部 js 文件的同一页面。你会发现同一个js会被加载两次。一个是第一次打开页面,第二个是ajax加载同一个页面的时候。所以我认为这个案子会存在一些潜在的问题。例如,如果您在 JavaScript 中为在 js 文件中初始化的变量设置一个值,在加载页面后,您会发现它会恢复为初始化值。我能找到的解决方案之一是使用 IFrame ,有吗有什么好的方法吗?谢谢。
代码如下所示。
在 test.html 中
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="test.js"></script>
<script type="text/javascript">
$(function(){
$("#loadBtn").on("click", function(event)
{
$('#container').load('test.html');
});
$("#getTest").on("click", function(event)
{
alert(test);
});
$("#changeTest").on("click", function(event)
{
test="changed";
});
});
</script>
</head>
<body>
<div id="container" style="width:200px;height:200px; padding:10px; border:1px solid black;"></div>
<input type="button" id="loadBtn" value ="Load"/>
<input type="button" id="getTest" value="gettest"/>
<input type="button" id="changeTest" value="changetest"/>
</body>
</html>
在 test.js 中
var test="1";