<!--
var _width = 240 
var _height = 180 
var text_height = 20
var flash_height = _height + text_height 
var pic_arr = new Array(); 
var link_arr = new Array(); 
var text_arr = new Array(); 
var i = 0;pic_arr[0] = "../flash/1.jpg";
pic_arr[1] = "../flash/2.jpg";
pic_arr[2] = "../flash/3.jpg";
pic_arr[3] = "../flash/4.jpg";
pic_arr[4] = "../flash/5.jpg";link_arr[0] = "Reader.php?class=1&ID=73";
link_arr[1] = "Reader.php?class=1&ID=72";
link_arr[2] = "Reader.php?class=2&ID=64";
link_arr[3] = "Reader.php?class=2&ID=61";
link_arr[4] = "Reader.php?class=3&ID=60";text_arr[0] = "超链接1";
text_arr[1] = "超链接2";
text_arr[2] = "超链接3";
text_arr[3] = "超链接4";
text_arr[4] = "超链接5";//
var p = pic_arr.join("|");
var l = link_arr.join("|");
var t = text_arr.join("|");
var f = "../flash/flash/focus.swf"; document.write('<object ID="focus_flash" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ _width +'" height="'+ flash_height +'">');
document.write('<param name="allowScriptAccess" value="sameDomain"><param name="movie" value="'+f+'"><param name="quality" value="high"><param name="bgcolor" value="#F0F0F0">');
document.write('<param name="menu" value="false"><param name=wmode value="transparent">');
document.write('<param name="FlashVars" value="pics='+p+'&links='+l+'&texts='+t+'&borderwidth='+_width+'&borderheight='+_height+'&textheight='+text_height+'">');
document.write('<embed ID="focus_flash" src="'+f+'" wmode="opaque" FlashVars="pics='+p+'&links='+l+'&texts='+t+'&borderwidth='+_width+'&borderheight='+_height+'&textheight='+text_height+'" menu="false" bgcolor="#F0F0F0" quality="high" width="'+ _width +'" height="'+ flash_height +'" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">');
document.write('</object>');
//-->这是一个JS+FLASH图片广告代码的大路货,实现图片(pic_arr)、超链接(link_arr)、标题(text_arr)的FALSH演示。目前遇到的问题是,超链接输出不正确。
链接 link_arr[0] = "Reader.php?class=1&ID=73"; 只能转向到 http://XXX/YYY/Reader.php?class=1 , "&ID=73"这部分无效,怎么办?
还有,点击这个flash的超链接,IE会提示“阻止了一个弹出窗口”,怎样才能够不弹?谢谢!

解决方案 »

  1.   

    "Reader.php?class=1&ID=73";
    改成
    "Reader.php?class=1%26ID=73";
      

  2.   

    传参改为 Reader.php?param=1.73后台获取后对参数值进行分割 //split('.')如果IE是默认的设置是不会阻止的,可以你是在本地测试的,如果放在服务器上可能就不会了。如果放在服务器上还是会被阻止,那只能改flash里的as了。
      

  3.   

    多谢1楼的net_lover,按照你的方法设置,链接能正常访问了,谢谢。阻止窗口的确是IE设置的问题,不过我想尽量在网站的技术层面上做成不弹。
    回2楼的danica7773,有些代码的确是本地的时候阻止,但我是开了APACHE来测试的,别的都不弹就这个Flash会弹,改Flash的as?我找一找试一试。
      

  4.   

    var p = encodeURIComponent(pic_arr.join("|"));
    var l = encodeURIComponent(link_arr.join("|"));
    var t = encodeURIComponent(text_arr.join("|"));
      

  5.   

    嗯,下班回家吧,明天再弄,have fun guys.
      

  6.   

    要考虑所有用户的情况,就不能用这个FLASH了。它的实现机制决定了无可避免。去换个FLASH,挨个试试。
      

  7.   

    当然,不同的FLASH,主要是指它使用机制不同。同样机制的就没用了。不同的机制,使用的方法当然也不一样。有可能不弹出窗口,而是直接更改本窗口的。
      

  8.   

    我找了好些网站的这种图片翻页广告,发现用JS+图片实现的就不弹,而用JS+Flash的基本上10个有9.9个是弹的,当然其中还有0.1个不弹(都是打开新窗口的)。我看了看,跟JS代码没关系,问题只是出在Flash上,但是我无法获得Flash的源代码.fla,所以也分析不了是什么原因,能用就算了。大家可参考下,谢了。
      

  9.   

    有个开源的, 好像叫 bcastr