
正文
关于jquery解决ajax后js失效问题的信息
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
用AJAX刷新的出的html代码,这段代码的js不起作用,如何解决?
1、对返回的字符串eval()。这种情况是你要它执行的。返回的字符串中有script|object|applet|embed,把这样的字符串放到网页上当然会自动加载一些东西,甚至是恶意的代码。这时候需要把返回的字符串进行替换安全处理。
2、查找并 eval 执行 解决所有的返回片段中的 script 返回的脚本,放到 head 中间。
3、createElement(script);nn.src=你的JS文件地址nn.type=text/javascriptnn.charset=utf-8aa.appendChild(nn);ajax代码 } 然后你执行下就成了,主要就是加入那段DOM操作。我测试好用,希望对你有帮助。
相关问答
Q1: ajax刷新局部页面数据后js事件失效
出现这种错误一般是因为你的JS出错,然后导致其他的JS不再运行。
首先,你图片应该是ajax获取路径之后动态添加到页面上的吧,如果是这样,那么你可能就是在ajax返回图片路径并添加到页面之前执行了$(img.lazy).lazyload();这句话。图片都没有加载到,肯定失效了。
每次刷新后,在ready里$(a.tooltip)所绑定的元素就被刷掉了 建议用delegate,把绑定事件定义到document里去 delegate的用法请看jQuery api。
ajax返回的都是字符串,不会自己执行。除非:对返回的字符串eval()。这种情况是你要它执行的。返回的字符串中有,把这样的字符串放到网页上当然会自动加载一些东西,甚至是恶意的代码。
Q2: 为什么我用jquery中ajax返回的子页面不能调用父页面的js
一种是用iframe方式,弹出一个div层,嵌套iframe,提交后,通知父页面;另一种是ajax异步方式,弹出一个表单层,提交数据后,回调处理。
首先建立一个父级页面parent.html,代码如图,一个pop函数方法,一个链接到child.html的iframe标签。
ajax返回的都是字符串,不会自己执行。除非:对返回的字符串eval()。这种情况是你要它执行的。返回的字符串中有,把这样的字符串放到网页上当然会自动加载一些东西,甚至是恶意的代码。
Q3: 使用ajax后,lazyload.js失效,怎么解决
1、失效的原因是你仅在页面加载时对元素进行处理,但通过ajax加载的新元素没做处理。
2、解决js失效的具体操作步骤如下:检查您的JS代码是否正确,确保您的代码不存在任何语法错误。确保您的JS代码在不同环境中兼容,比如检查浏览器版本是否一致,检查操作系统是否一致等。
3、首先script空格一下是要有了。更重要的不是你没有设置好而是你乎略了一个问题,我看了你发的jquery.lazyload.js中的源码,其中有这样一句。
jquery解决ajax后js失效问题的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、jquery解决ajax后js失效问题的信息别忘了在本站进行查找喔。







