我正在加载,使用JQuery ajax()方法,一个包含html和javascript代码的外部页面:
<script type="text/javascript" src="myfile.js"></script>
<p>This is some HTML</p>
<script type="text/javascript">
alert("This is inline JS");
</script>
并使用 html()方法将结果设置为div元素。
虽然html()方法正确评估了内联JS代码,但它并没有下载和评估外部JS文件“myfile.js”。
针对此问题的任何提示?
答案 0 :(得分:2)
如果你控制外部页面,你可以改变这个
<script type="text/javascript" src="myfile.js"></script>
到
<script type="text/javascript" src="http://host/path/myfile.js"></script>
演示:http://jsbin.com/ucomu3/3通过$.ajax
加载http://jsbin.com/otopi/3并通过html()
http://jsbin.com/otopi/3设置返回的数据包含内联脚本标记和一个包含完整限定网址的标记在src-attribute中指向http://jsbin.com/uyova3
因此,如果你打开http://jsbin.com/ucomu3/3,你会看到“这是一些HTML”和两个提示“我是外部本地js”和“这是内联JS”
答案 1 :(得分:1)
尝试在src
的{{1}} - 属性中使用绝对地址。