惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园 - Franky
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
L
LangChain Blog
L
LINUX DO - 最新话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
MyScale Blog
MyScale Blog
P
Palo Alto Networks Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
AI
AI
T
Troy Hunt's Blog
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
Attack and Defense Labs
Attack and Defense Labs

博客园 - culturenet

jQuery Mobile 小问题解决一例 Oracle 升级以后 HTTP Server 一则小错误解决 installshield安装文件的制作小技巧--附加数据库 使用installshild解决某些安装文件无法在win2003上安装的问题 vsta下vs2005产生错误,解决之 Test Windows Live Write (Bate) Gridview中当设置自动生成列时对列中字段使用 html代码显示 修改ppt另存为网页的mht文件内容,更改其显示方式 修改OleDB provider 移植 Data Application Blocks项目中使用存储过程的应用(Oracle or MsSqlServer)到Microsoft Access Enterprise Library- Data Block 使用MS Access的问题的解决 Oracle Services For Microsoft Transaction Server的问题的发现与解决 LinkButton 的提交两次问题的解决 Enterprise Library- Data Block使用oracle存储过程,字符串参数传入值为""时出现问题的解决 Enterprise Library - Data Block oracle返回 cursor 问题的解决 web.config中的pageBaseType问题 修改客户端Script,解决r.a.d.controls Q2 2005中TreeView 控件遮挡问题 [导入]汉字区位码查询 [导入]c#取得汉字的拼音的首字母。 [导入]url传递中文的解决方案总结 [导入]转:url传递中文的解决方案总结
flash的传值问题
culturenet · 2007-06-27 · via 博客园 - culturenet

很久以前的一个作品,最近客户说是要把以前做的首页的javascript做的一个图片轮换的效果换成类似sina体育的那个图片轮换的效果。

     于是开工,网上一搜索,就有一个,摘录如下:

第一步:先把他的flash图片播放器下载下来。http://news.ccidnet.com/images/swf/pixviewer.swf

第二步:把以下代码放到你要显示的地方。
不过有几处需要修改的地方。pixviewer.swf放的路径,图片地址,链接的网页

<script type="text/javascript">
<!--

var focus_width=260
var focus_height=210
var swf_height = focus_height

var pics='pic/1.jpg|pic/2.jpg|pic/3.jpg|pic/4.jpg'//图片地址(相对路径)

var links='1.htm|2.htm|3.htm|4.htm'//(链接的网页)

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="movie" value="pixviewer.swf"><param name="quality" value="high"><param name="bgcolor" value="#F0F0F0">');
document.write('<param name="menu" value="false"><param name=wmode value="opaque">');
document.write('<param name="FlashVars" value="pics='+pics+'&links='+links+'&borderwidth='+focus_width+'&borderheight='+focus_height+'">');
document.write('<embed src="pixviewer.swf" wmode="opaque" FlashVars="pics='+pics+'&links='+links+'&borderwidth='+focus_width+'&borderheight='+focus_height+'" menu="false" bgcolor="#F0F0F0" 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>

于是实现我的代码:

if (!Page.IsPostBack)
        {

            TList<Dlbj_xw> myxw = DataRepository.Dlbj_xwProvider.GetTopN(5, "xw_id desc", "xw_pic_path is not null  and xw_ssfl='" + (int)MyEnum_Dlbj_xw_enum.要闻 + "'");
            string htmlstring=@"<SCRIPT type=text/javascript>
<!--  
    var focus_width=300
    var focus_height=225
    var text_height=25
    var swf_height = focus_height+text_height

    var pics='";           

            string pics="";
            string texts="";
            string urls="";
            foreach(Dlbj_xw thexw in myxw)
            {

                char[] charSeparators = new char[] { '/' };
                pics += "uploadfiles/xw/images/" + thexw.Xw_pic_path.Split(charSeparators, StringSplitOptions.RemoveEmptyEntries)[0] + "|";
                texts += CutString.cutstring(thexw.Xw_title,25) + "|";
                urls += "view_news_inde.aspx?id=" + thexw.Xw_id + "&amp;xwlb=1|";

            }
            pics=pics.Substring(0,pics.Length-1);
            texts=texts.Substring(0,texts.Length-1);
            urls=urls.Substring(0,urls.Length-1);

            htmlstring+=pics+"'\n";
            htmlstring+="var links='"+ urls +"'\n";
             htmlstring+="var texts='"+ texts +"'\n";
            htmlstring+="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\" name=\"flashpic\" id=\"flashpic\" width=\"'+ focus_width +'\" height=\"'+ swf_height +'\">');";

     htmlstring+="document.write('<param name=\"allowScriptAccess\" value=\"sameDomain\"><param name=\"movie\" value=\"pixviewer.swf\"><param name=\"quality\" value=\"high\"><param name=\"bgcolor\" value=\"#DADADA\">');";
     htmlstring+="document.write('<param name=\"menu\" value=\"false\"><param name=wmode value=\"opaque\">');";
     htmlstring+="document.write('<param name=\"FlashVars\" value=\"pics='+pics+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight='+focus_height+'&textheight='+text_height+'\">');";
     htmlstring += "document.write('<embed src=\"pixviewer.swf\" wmode=\"opaque\" FlashVars=\"pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight='+focus_height+'&textheight='+text_height+'\" menu=\"false\" bgcolor=\"#DADADA\" quality=\"high\" width=\"'+ focus_width +'\" height=\"'+ swf_height +'\" allowScriptAccess=\"sameDomain\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" />'); "; 
     htmlstring+="document.write('</object>');";
     htmlstring+="//-->";
     htmlstring+="</SCRIPT>";
     Literal1.Text = htmlstring;

        }

测试一下,发现效果还不错。点了一下鼠标,发现链接有问题,分析一下,主要是通过FlashVars传递参数的时候 变量 links中的链接地址中有"&"符号,于是出现了一些偏差。于是尝试着其他的传值方式。

发现,可以在 src="xxx.swf?links="中采用如次的方式,但是传入的也是在“&”的时候产生了错误。

最后就修改代码,使用javascript向flash中传递参数。

代码修改后加入如下代码就ok:

htmlstring+="window.document.flashpic.SetVariable(\"links\", links);";