jquery的html,append函数会将传入的参数中的js过滤
来源:互联网 发布:ipv6网络电视直播 编辑:程序博客网 时间:2024/05/17 22:01
code1:test1.html
<link rel="stylesheet" href="/web/newversion/css/dzq-style.css" type="text/css"><script type="text/javascript" src="/web/newversion/test.js"></script><title>图片浏览</title><script type="text/javascript">$(document).ready(function(){Test.init();$("#click_me").click(function(){alert(1)})})</script>
然后在test2.html中通过ajax将test1.html的内容加载过来然后append到div中,发现js没有被append到div中。通过查看jquery源码发现jquery将执行后的js直接移除掉了。
jquery.1.7.js代码:
function evalScript( i, elem ) {if ( elem.src ) {//通过ajax方式来执行jsjQuery.ajax({url: elem.src,async: false,dataType: "script"});} else {jQuery.globalEval( ( elem.text || elem.textContent || elem.innerHTML || "" ).replace( rcleanScript, "/*$0*/" ) );}if ( elem.parentNode ) {//移除掉js//elem.parentNode.removeChild( elem );}}如果想取jquery动态加载的html中的script时,还需要修改jqueryr的clean函数的代码
if ( fragment ) {checkScriptType = function( elem ) {return !elem.type || rscriptType.test( elem.type );};for ( i = 0; ret[i]; i++ ) {if ( scripts && jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) {scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] );} else {if ( ret[i].nodeType === 1 ) {var jsTags = jQuery.grep( ret[i].getElementsByTagName( "script" ), checkScriptType );ret.splice.apply( ret, [i + 1, 0].concat( jsTags ) );}//移动外面,特殊情况,特殊处理。//fragment.appendChild( ret[i] );}fragment.appendChild( ret[i] );}}
0 0
- jquery的html,append函数会将传入的参数中的js过滤
- js的replace 函数会过滤掉html标签
- jquery html() append() 方法过滤javascript段的解决方法
- js函数中传入的event参数
- jQuery的append()函数
- 匿名函数的参数传入
- jquery的节点操作html text append
- 将程序的参数传入grid++report
- Jquery之append()函数的应用
- JQuery.html()与jquery.append(document.createTextNode())的区别
- 过滤html中的标签的js正规表达式
- php和js过滤参数的实用函数
- gdb 传入main函数参数的方法
- 函数的传入和传出参数
- 指针作为参数传入函数的陷阱
- JQuery之append和appendTo的区别,还有js中的appendChild用法
- JQuery之append和appendTo的区别,还有js中的appendChild用法
- JQuery之append和appendTo的区别,还有js中的appendChild用法
- C++的const_cast的问题
- android开发 drawable中XML的相关应用
- Android跨进程通信的四种方式
- opencv之透视变换cvWarpPerspective
- c语言素数判断为什么只循环到平方根就行
- jquery的html,append函数会将传入的参数中的js过滤
- Android跨进程通信的四种方式
- vs2012配置opencv2.4.8
- 翱翔在计算机系统 DMA(1)
- POJ 3258 River Hopscotch
- 硬件电路可靠性设计
- 在C++中执行cmd指令的两种方法
- 离别我送你千里之外
- 通过statspack诊断物理dg数据库性能方法