Jquery的load,在Safari或IE8中不能执行脚本
在我发现jQuery的HTML()与Load()的区别之后,我又发现有些时候load()在Safari或IE8中不能执行脚本!
当load()方法用ajax方式请求加载 的目标页面内容里含有javascript脚本时,并且还含有<head>标签时(对于一个完整的网页来说,这是很正常的),这时,页面中的 javascript脚本竟然无法顺利执行!去掉<head>标签,javascript脚本才能执行,在其实浏览器均无此情况发生,我实现 想不通这是为什么,还高手告之。
呵呵,有网友说看不懂,那是我表达的不清楚,那我就把我的测试代码放上来,大家看看结果:
测试一(成功!这个测试结果是能弹出警告框“hello world!...”):
1)主页面
<html>
<head>
<title></title>
<script src="js/jquery-1.4.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#target").load("target.html", function() {
});
});
</script>
</head>
<body>
<div ></div>
</body>
</html>
2) 子页面<script src="js/jquery-1.4.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
alert("hello world!I am target");
</script>
above is script
测试二(失败):
1)主页面:
<html>
<head>
<title></title>
<script src="js/jquery-1.4.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#target").load("target1.html", function() {
});
});
</script>
</head>
<body>
<div ></div>
</body>
</html>
2)子页面:
<html>
<head>
<script src="js/jquery-1.4.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
alert("hello world!I am target1");
</script>
</head>
<body>
above is script
</body>
</html>