您的位置:首页 > Web前端 > JavaScript

js FLASH幻灯片字符串中有连接符&的处理方法

2012-03-01 00:00 218 查看
<script type="text/javascript"> 
varconfig='6|0xffffff|0x0099ff|50|0xffffff|0x0099ff|0x000000'; 
varfiles='http://www.jb51.net/bbs/attachments/month_1001/10010519247f1786dc556829c5.jpg|http://www.jb51.net/bbs/attachments/month_1001/1001060845f046a796b52d112f.jpg|http://www.jb51.net/bbs/attachments/month_1001/10010812174b26936d6961598a.png|http://www.jb51.net/bbs/attachments/month_1001/1001061531c89399912d217be4.png|http://www.jb51.net/bbs/ttachments/month_1001/1001071315a59155ffb750a427.jpg|http://www.jb51.net/bbs/attachments/month_1001/1001071933febe3e795de1dcdb.jpg'; 
varlinks='PageView.asp?id=36&cid=42&Lid=34|PageView.asp?id=36&cid=42|http://www.renren.com|http://www.ifeng.com/|http://www.tudou.com/|http://www.http://www.skycn.com/'; 
vartexts='【模板参选】华为2009年PPT模板|【模板参选】中国移动援博2009年PPT模板|超酷CIG企業演示PPT|急求:立体的对号和错号|2010年标 新|画轴开启、书法动画、画轴闭合'; 
varflashvars=[ 
'config='+encodeURIComponent(config) 
,'files='+encodeURIComponent(files) 
,'links='+encodeURIComponent(links) 
,'texts='+encodeURIComponent(texts) 
].join("&"); 
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="100%" height="198">'); 
document.write('<param name="movie" value="http://www.jb51.net/bbs/images/xshow/focus.swf" />'); 
document.write('<param name="quality" value="high" />'); 
document.write('<param name="menu" value="false" />'); 
document.write('<param name="wmode" value="transparent" />'); 
document.write('<param name="flashvars" value="'+flashvars+'" />'); 
document.write('<embed src="http://www.jb51.net/bbs/images/xshow/focus.swf" wmode="opaque" flashvars="'+flashvars+'" menu="false" quality="high" width="100%" height="198" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />'); 
document.write('</object>'); 
</script>

经过测试可以单独对links进行处理即可
document.write('<param name="FlashVars" value="pics='+pics522+'&links='+encodeURIComponent(links522)+'&texts='+texts522+'&borderwidth='+focus_width522+'&borderheight='+focus_height522+'&textheight='+text_height522+'">');
js编码之 encodeURIComponent

js 对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent
1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。
例如:
2、 进行url跳转时可以整体使用encodeURI
例如:Location.href="/encodeURI"("http://www.jb51.net/s?word=百度&ct=21");
3、 js使用数据时可以使用escape
例如:搜藏中history纪录。
4、 escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,encodeURI,encodeURIComponent编码结果相同。
最多使用的应为encodeURIComponent,它是将中文、韩文等特殊字符转换成utf-8格式的url编码,所以如果给后台传递参数需要使用encodeURIComponent时需要后台解码对utf-8支持(form中的编码方式和当前页面编码方式相同)
escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z
encodeURI不编码字符有82个:!,#,$,&,\',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
encodeURIComponent不编码字符有71个:!, \',(,),*,-,.,_,~,0-9,a-z,A-Z
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: