ajax动态加载js,导致js不执行失效问题

转载 2013年12月02日 12:36:49

一、首先必须清楚,ajax动态加载的js,是全部的js都不好使,都不执行,都无效了吗?

这点,我认为很关键,但是网上的文章都其实是一篇文章,是一个人写的。他并没有强调这一点,导致所有的文章都没有说这一点,其实并不是的。比如我们自己在addNews.jsp中的addNews.js(很简单,比如就是几个js方法,或者加上$(document).ready之类的)中写的js代码,虽然是ajax动态加载上来的,但是也会执行。再比如,我们常用的jquery.form.js,这个也可以加载。

所以,不要 认为所有的js都不会被执行。有的能,有的不能,我发现一个规律,就是用压缩工具压缩之后带有eval执行函数的,就可以被执行。最明显的就是ueditor不能被执行。


二、解决方法

1)最妥当、但是最笨重的解决方法。将所有不能ajax加载之后执行的js代码放在主页上进行调用。最妥当,没什么不方便的地方,但是造成在刚刚登陆页面的时候,太过于笨重,你比如ueditor这个插件的js就700k!!!

2)用网上说的,在ajax加载的页面的时候,检测出加载页面的js,然后利用js追加到主页的head里去。告诉你,大部分情况,大部分浏览器不管用。

3)如果不想把所有信息放在主页上,就在ajax加载不能执行js的那个模块上,利用iframe来实现,iframe加载出来的js都能执行,然后就是父页和iframe子页之间的通信问题。

ajax亦步刷新时,会导致某些javascript的失效解决方法

由于ajax是进行一步刷新的,也就是说当使用ajax时网页端脚本也是部分刷新的。当在网页加载需要执行的某些js函数,即在          $(function () { //网页初始化需要执行的...
  • soft_123456
  • soft_123456
  • 2015年09月07日 14:33
  • 1752

关于ajax请求后js绑定事件失效问题解决方法

$(function(){ $(document).on('click', '.add' ,function(){ window.location.href="...
  • encircles
  • encircles
  • 2017年04月14日 20:03
  • 1223

jquery .ajax 局部刷新之后 js无法调用问题解决

  • 2014年05月28日 14:39
  • 332B
  • 下载

关于ajax局部刷新后,js绑定事件失效的问题

百度了一下,csdn上有高手回答了很多很细 简单理解: 绑定事件在文档没有加载完成的时候是无法绑定的,因为不能获取到html 元素 所以需要用   $(document).on(e,select...
  • encircles
  • encircles
  • 2016年09月21日 17:21
  • 662

Ajax中主页加载分页面后,分页面js脚本不执行的解决办法

最近捣鼓JQuery,其中强大的Ajax系列函数令人印象深刻,所以做项目时毫不犹豫地采用了一下该技术,在主页中动态加载分页面进来,咋看效果不错,都能实现了第一层次的加载,但深入下去问题就出来了:动态加...
  • idoiknow
  • idoiknow
  • 2011年02月28日 11:50
  • 9924

关于js动态插入script 标签后页面JS代码执行失败的解决方法

RT,主要是因为加载顺序的问题,为了解决某设备上的JS缓存导致修改文件不能及时更新问题以及方便JS管理,我采用了如下代码进行JS 动态插入 var t = Math.random(); var ...
  • xxx9001
  • xxx9001
  • 2016年07月26日 15:00
  • 2270

解决AJAX动态加载元素无法绑定事件

问题通过ajax把html加载到页面,如果直接写绑定代码,会失效。解决方式将事件委托到body(当然可以是其它父元素),等事件冒泡到父元素上面再进行事件处理。例如: 如果ajax载入了一个这个时候如...
  • mayuko2012
  • mayuko2012
  • 2017年01月31日 14:40
  • 1566

解决用jquery load加载页面到div时,不执行页面js的问题

使用.bind()方法是很浪费资源的,因为它要匹配选择器中的每一项并且挨个设置相同的事件处理程序建议停止使用.live()方法,因为它已经被弃用了,由于他有很多的问题.delegate()方法“很划算...
  • qq_35038331
  • qq_35038331
  • 2017年01月09日 13:56
  • 2502

使用.live()可以解决动态加载html,但js无效果的问题

翻译原文地址:http://www.alfajango.com/blog/exploring-jquery-live-and-die/ 很多开发者都知道jQuery的.live()方法,...
  • Sbangm
  • Sbangm
  • 2014年10月22日 12:00
  • 6862

ajax载入页面js失效的问题

ajax中Html与javascript混合载入时的问题这是一个经验和原理的问题,用prototype载入一段HTML,其中有script代码,而HTML的TAG中有的类似onclick事件去掉用sc...
  • fengjie926
  • fengjie926
  • 2010年04月08日 09:17
  • 2978
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ajax动态加载js,导致js不执行失效问题
举报原因:
原因补充:

(最多只允许输入30个字)