我正在使用 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”。
对于这个问题有什么提示吗?
最佳答案
如果您控制外部页面,则可以更改此设置
<script type="text/javascript" src="myfile.js"></script>
至
<script type="text/javascript" src="http://host/path/myfile.js"></script>
演示:http://jsbin.com/ucomu3/3负载http://jsbin.com/otopi/3通过 $.ajax
并通过 html()
设置返回的数据 http://jsbin.com/otopi/3包含一个内联脚本标签和一个在 src 属性中具有完全限定 URL 的标签,该 URL 指向 http://jsbin.com/uyova3
所以如果你打开http://jsbin.com/ucomu3/3你会看到“这是一些 HTML”和两个警报,上面写着“我是外部本地 js”和“这是内联 JS”
关于javascript - JQuery .html() 方法和外部脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2486832/