javascript – jquery .load()不加载外部JS
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – jquery .load()不加载外部JS,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1384字,纯文字阅读大概需要2分钟。
内容图文
![javascript – jquery .load()不加载外部JS](/upload/InfoBanner/zyjiaocheng/767/e4f6972a6d004cae9006aaad82494b07.jpg)
我使用没有选择器的jquery.load()将外部内容加载到div元素中.如果加载的内容嵌入了JS,则JS按预期工作.但是,如果内容包含带有src = path-to-js-code的脚本标记,则不会加载js-code.
我在这个观察中是否正确,如果有的话,除了在加载的内容中嵌入JS之外还有一个很好的解决方案吗?
编辑:
一些澄清和观察:
加载我正在使用的内容
$("#DivId").load("path/to/content.php", CallbackFunction(response, status, xhr) {
error checking and post processing code
});
将加载代码更改为:
$.get("path/to/content.php", CallbackFunction(response, status, xhr) {
error checking
$("#DivId").html(response);
post processing
});
似乎没有改变行为(更多关于下面的行为)
我没有尝试解析响应以检索脚本src然后使用getScript().
现在更多关于行为……
使用Firefox,似乎外部JS已加载,但仅限于距离上次加载约2分钟.我没有看到Firebug中的尝试,除非在外部JS的最后一次加载后刷新大约2米. (奇怪的).当我进行JS代码更改并进行刷新时,它没有加载我的新代码,因此也没有加载原始问题.
所以我会根据这个澄清的行为(2m缓存?)撤回我的问题.
谢谢.
解决方法:
.load()和.html()jQuery方法都使用.innerHTML属性.这不会执行使用< script>添加的脚本标签.使用常规的AJAX调用,例如.get()然后在回调中使用.append()来添加你的HTML字符串,脚本将在解析后运行,例如
$.get("path/to/content.php", function(response, status, xhr) {
// error checking
$("#DivId").append(response); // Any <script> tags in the response string will execute
// post processing
});
事情是你需要确保你运行受信任的代码,如果它是由.append()添加的
内容总结
以上是互联网集市为您收集整理的javascript – jquery .load()不加载外部JS全部内容,希望文章能够帮你解决javascript – jquery .load()不加载外部JS所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。