« JOIN,INSERT,REPLACE语法wap网站开发 WML教程 关于任务与导航 »

让FLASH直接显示 避免 点击激活此控件

ActiveX控件,是微软引以为豪的一样东西,它为微软的IE迅速占领浏览器市场立下了汗马功劳。ActiveX因为其开放性,也受到很多第三方软件商的青睐,但也正是其开放性,又反过来让微软,确切地说是让用户吃了不少苦头。暗无天日的浏览器插件,流氓软件,开始向IE进军,于是微软在网民的声讨中,做了两件事:一是开发了Defender,另一件事就是把所有IE里运行的ActiveX先禁运行,如IE7以及打过补丁的IE6。

 这是微软为了避免与Eolas公司和加利福尼亚大学之间的专利侵权纠纷,而发布的一个IE非安全更新,这不是什么BUG 。

  但是这样又有问题出现了,很多网站采用的是FLASH的导航甚至有的站全是FLASH的,不先点击一下激活ActiveX的话,就没办法交互和进一步操作,这在网站的亲和力上可是大打折扣了,这可是让网站长特别是个人网站长非常恼火的一件事。但是,解决办法还是有的,首先是ADOBE公司给出的一个解决办法,不过操作起来有些麻烦,这里就不详细介绍,有兴趣的朋友可以去ADOBE公司主页去看一下源代码。

  这里要介绍的另一种方法就是很知名的flashobject.js,可以到http://blog.deconcept.com/flashobject/去下载最新版本,其对FLASH的页面插入方法的封装非常好,用起来也非常简单。

SWFObject is a small Javascript file used for embedding Adobe Flash content. The script can detect the Flash plug-in in all major web browsers (on Mac and PC) and is designed to make embedding Flash movies as easy as possible. It is also very search engine friendly, degrades gracefully, can be used in valid HTML and XHTML 1.0 documents*, and is forward compatible, so it should work for years to come.
* Pages sent as text/html, not application/xhtml+xml.

点击在本地下载此资源 
zip文档 62kb


首先你得在页面里导入这个JS脚本

<script type="text/javascript" src="/inc/flashobject.js"></script><!-- flash object lib -->
然后再在页面里要加入FLASH的地方这样写,

  其中id="flash1"这个是要有的,因为在用flashobject的时候需要用到,用addParam可以添加属性及参数,用addVariable可以添加新的变量。最后用一个write方法实现FLASH的显示,这个方法的好处在于,如果浏览器支持JS,则直接显示一个已经激活的FLASH,如果不支持,则直接显示按传统方法写好的FLASH显示。


<p id="flash1">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0"
width="100%" height="100%" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="Chap01.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="http://www.ajaxstu.com/Files/File/2007-11/25/37C7KEA5EA4EH45AIJ.swf"" quality="high" bgcolor="#ffffff" width="100%" height="100%" name="main" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
</p>
<script type="text/javascript">
// <![CDATA[
var fo = new FlashObject("Chap01.swf", "indexvideo", "100%", "100%", "7", "", true);
fo.addParam("scale", "noscale");
fo.addParam("wmode", "transparent"); //add param
//fo.addVariable("sid","1123")
fo.write("flash1");
// ]]>
</script>


  在客户端的解决办法:

  在控制面板的"添加删除程序"中删除编号为"KB912945"的更新,如果列表中没有显示,需要在"添加删除程序"窗口右上角的“显示更新”前打√。 


外一个流行的方法是用js载入flash,反正搜索引擎都不认识这些东西。

方法:

一、下载后将压缩包内的“FLASH.js”文件放入站点任意文件夹中

  二、在网页<head></head>之间插入以下代码

<!--修正FLASH正确显示代码开始-->
<script language="javascript" type="text/javascript" src="flash.js的相对路径"></script>
<!--修正FLASH正确显示代码结束-->

  三、用下面java语句完全替换网页中“<object> ……〈/object>"(包括首尾标记)

<script language="javascript" type="text/javascript">
writeflashhtml("_swf=你的FLASH文件地址", "_width=你的FLASH文件宽度", "_height=你的FLASH文件高度" ,"_wmode=transparent");
</script>
点击本地下载 zip文档 2kb

原创文章如转载,请注明:转载自悠悠博客 [ http://www.ajaxstu.com/ ]

相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。