网上找了一个flash,能滚动显示图片的
我将它的pics、links、texts三个值改成在网站后台可以录入修改的,
就是每上传一个图片,我给它加一个文字标题和链接,在前台滚动显示的时候,点击图片就能链接到响应的网址去。
代码如下——
<script type="text/javascript">
var focus_width=500;
var focus_height=300;
var text_height=40;
var swf_height = focus_height+text_height;var pics="../../uploadfile/image/200911/17142328797.jpg"+ "|" +"../../uploadfile/image/200911/12121031729.jpg";
var links="../News/Default.aspx?i=20 "+ "|" +"http://www.bbb.com/";
var texts="aaaaaa"+ "|" +"bbbbb";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="'+ focus_width +'" height="'+ swf_height +'">');
document.write('<param name="allowScriptaccess" value="sameDomain"><param name="wmode" value="transparent"><param name="movie" value="../../images/z09pixviewer.swf"><param name="quality" value="high"><param name="bgcolor" value=#ffffff>');
document.write('<param name="menu" value="false"><param name=wmode value="opaque">');
document.write('<param name="FlashVars" value="pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight='+focus_height+'&textheight='+text_height+'">');
document.write('<embed src="../../images/z09pixviewer.swf" wmode="opaque" FlashVars="pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight='+focus_height+'&textheight='+text_height+'" menu="false" bgcolor=#ffffff quality="high" width="'+ focus_width +'" height="'+ swf_height +'" allowScriptaccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />');
document.write('</object>');
</script>
测试后发现没问题,就投入使用了,结果用着用着就发现有问题,检查再三发现是链接的问题
只要链接里有“&”这个符号,就乱套了,如
var links="../News/Default.aspx?s=1&i=20 "+ "|" +"http://www.bbb.com/";
因为在那个flash里面,也是用“&”这个符号拼接的:
document.write('<param name="FlashVars" value="pics='+pics+'&links='+links+'&texts='+texts+.....我发现了问题,但不知道怎么解决,所以来此处求助。

解决方案 »

  1.   

    &除了在xml中要用实体代替以外在其它地方没发现会引起问题
      

  2.   

    你alert看一看图片的地址会成什么样?
      

  3.   

    var links="../News/Default.aspx?s=1&i=20 "+ "|" +"http://www.bbb.com/"; 
    to
    var links=escape("../News/Default.aspx?s=1&i=20 "+ "|" +"http://www.bbb.com/");你这样修改一下试试,我不确定行不行,就是加个escape
      

  4.   

    我上传了2个图片,前台刷新后,右键点击页面选“查看源文件”
    能看见pics、links、texts三个的值是这样的var pics="../../uploadfile/image/200911/17142328797.jpg"+ "|" +"../../uploadfile/image/200911/12121031729.jpg";
    var links="../News/Default.aspx?s=1&i=20 "+ "|" +"http://www.bbb.com/";
    var texts="aaaaaa"+ "|" +"bbbbb";flash中的2个图片可以滚动显示,但是点击后弹出的网址是有问题的
    点击第一个图片,弹出的地址是http://xxxxx/News/Default.aspx?s=1
    点击第二个图片没反应。就是因为当中有个&符号如果传5个图片,第4个链接中有&的话,那前3个就能正常点击,第4个链接&后的部分会丢失,第5个不能点。
      

  5.   

    强!escape加上就能解决。太感谢了