<b>执行脚本</b>
<div id="aa" onclick="aaa()" style="background:red">qqqq</div>
<script language=javascript>
function aaa()
{
aa.innerHTML=alert('go')
}
</script><b>不执行脚本
</b>
<div id="aa1" onclick="aaa1()" style="background:green">yyyy</div>
<script language=javascript>
function aaa1()
{
aa1.innerHTML="<script >alert('go')<\/script>"
}
</script>如何让下面的能够执行
<div id="aa" onclick="aaa()" style="background:red">qqqq</div>
<script language=javascript>
function aaa()
{
aa.innerHTML=alert('go')
}
</script><b>不执行脚本
</b>
<div id="aa1" onclick="aaa1()" style="background:green">yyyy</div>
<script language=javascript>
function aaa1()
{
aa1.innerHTML="<script >alert('go')<\/script>"
}
</script>如何让下面的能够执行
<script language='JavaScript'>
var a=new tree('a','组织机构');
a.add(0001,00,'测试0001','Org_Content.aspx?id=0001');
a.add(000101,0001,'测试000101','Org_Content.aspx?id=000101');
a.add(0002,00,'测试0002','Org_Content.aspx?id=0002');
a.add(000201,0002,'测试000201','Org_Content.aspx?id=000201');
a.add(00020101,000201,'测试00020101','Org_Content.aspx?id=00020101');
a.add(000202,0002,'test','Org_Content.aspx?id=000202');
a.add(0003,00,'test','Org_Content.aspx?id=0003');
a.add(000301,0003,'test','Org_Content.aspx?id=000301');
a.add(0004,00,'2','Org_Content.aspx?id=0004');
a.add(000401,0004,'233','Org_Content.aspx?id=000401');
a.add(00040101,000401,'22','Org_Content.aspx?id=00040101');
document.write(a);
</script>
ss += "......";
//ss += "<\/script>";
eval (ss);
<div id="aa" onclick="aaa()" style="background:red">qqqq</div>
<script language=javascript>
function aaa()
{
aa.innerHTML=alert('go')
}
</script><b>不执行脚本
</b>
<div id="aa1" onclick="aaa1()" style="background:green">yyyy</div>
<script language=javascript>
function aaa1()
{
aa1.innerHTML="<script>"
aa1.innerHTML+=alert('go')
aa1.innerHTML+="<\/script>"
}
</script>
我写错了,这个市不执行的
DeluxWorld(曾经的你) ,你那段代码我在上面已经写了,我要问的就是后面那个如何去执行
因为我必须带有"<script>"这个标记
<script language='JavaScript'>
var a=new tree('a','组织机构');
a.add(0001,00,'测试0001','Org_Content.aspx?id=0001');
a.add(000101,0001,'测试000101','Org_Content.aspx?id=000101');
a.add(0002,00,'测试0002','Org_Content.aspx?id=0002');
a.add(000201,0002,'测试000201','Org_Content.aspx?id=000201');
a.add(00020101,000201,'测试00020101','Org_Content.aspx?id=00020101');
a.add(000202,0002,'test','Org_Content.aspx?id=000202');
a.add(0003,00,'test','Org_Content.aspx?id=0003');
a.add(000301,0003,'test','Org_Content.aspx?id=000301');
a.add(0004,00,'2','Org_Content.aspx?id=0004');
a.add(000401,0004,'233','Org_Content.aspx?id=000401');
a.add(00040101,000401,'22','Org_Content.aspx?id=00040101');
document.write(a);
</script>DeluxWorld(曾经的你) ,按照你的方法这是不执行的
<div id="Menu_Label"></div>
<script>
function stefli() {
Menu_Label.innerHTML = escape("<script>alert(\'go\');<\/sc"+"ript>");
}
</script>
<input type="button" value="stefli's test" onclick="stefli();">
而如果写入""中就不会alert了。
这就要求我能把这段javascript语句插入页面中让它执行起来
document.write写的才会执行。
并且注意,script标签不能放在innerHTML内容的最开始,可以在前面加一个不显示的HTMLElement,例如<div style="display:none">for IE</div>。对于ff和opera,需要将内容先innerHTML插入到一个未放置在页面中的HTMLElement(就是一个刚刚createElement出来,而没有被append或insert的一个元素,或是一个刚被remove的元素。总之就是没有插入到文档对象中的元素),然后将这个元素append或insert到指定位置。
<script language=javascript>
function aaa1()
{
aa1.innerHTML="<script >alert('go')<\/script>"
}
</script>
代码等同于
<div id="aa1" onclick="aaa1()" style="background:green"><script >alert('go')</script></div>这样是成功了,但是不会执行
<script language=javascript>
function aaa1()
{
aa1.innerHTML="<script >alert('go')<\/script>"
}
</script>
代码等同于
<div id="aa1" onclick="aaa1()" style="background:green"><script >alert('go')</script></div>这两个并不等价
<div id="aa1" style="background:green"><script >alert('go')</script></div>
这个市可以执行的阿
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test InnerHTMLCode</title>
<script type="text/javascript">
// <![CDATA[
var innerHTMLCode = function (elm, htmlCode) {
var ua = navigator.userAgent.toLowerCase();
if (ua.indexOf('msie') >= 0 && ua.indexOf('opera') < 0) {
htmlCode = '<div style="display:none">for IE</div>' + htmlCode;
htmlCode = htmlCode.replace(/<script([^>]*)>/gi, '<script$1 defer="true">');
elm.innerHTML = htmlCode;
elm.removeChild(elm.firstChild);
} else {
var elm_next = elm.nextSibling;
var elm_parent = elm.parentNode;
elm_parent.removeChild(elm);
elm.innerHTML = htmlCode;
elm_next ? elm_parent.insertBefore(elm, elm_next) : elm_parent.appendChild(elm);
}
}
// ]]>
</script>
</head><body>
<div id="test"></div>
<script type="text/javascript">
// <![CDATA[
var str = '<scr'+'ipt type="text/javascript">alert("Hello Todd")</scr'+'ipt>'
innerHTMLCode(document.getElementById('test'), str);
// ]]>
</script>
</body>
</html>