日期:2014-05-16  浏览次数:20382 次

document.write 输出脚本问题
这样的js语句如何转义才能呢正确执行:
document.write("<script>alert('55555')</script>") 
我需要再页面弹出55555 
而不是直接写出"<script>alert('55555')</script>"这个文本
------解决方案--------------------
<!DOCTYPE html>
<html>
<head>
<script>
document.write("<script>alert('55555')<\/script>") ;
</script>
</head>
<body>
</body>
</html>
------解决方案--------------------

<script>document.write(unescape("%3Cscript type='text/javascript'%3Ealert%28%27555%27%29%3C/script%3E"));</script>


这样就行了
------解决方案--------------------
引用:

<script>document.write(unescape("%3Cscript type='text/javascript'%3Ealert%28%27555%27%29%3C/script%3E"));</script>


这样就行了



把你的JS用escape做个编码,然后用上面的语句解码后即可执行
------解决方案--------------------
document.write("<script>alert('55555')</scr"+"ipt>") 

------解决方案--------------------
引用:
哈哈,一帮人都钻牛角了。

直接 alert("555555")就OK了.


避重就轻!
------解决方案--------------------
document.write("<scr"+"ipt>alert('55555')</scr"+"ipt>") 

script 产生了歧义,需要将其拆断
手册中虽然没有明说,但示例代码中就有