FlashObject之Flash的检测和嵌入Javascript脚本

其特点:
1、支持所有flash内置参数设置。且设置更简单方便。
2、内嵌flash player升级探测器,并提示升级。
3、完全通过XHTML 1.0 Strict验证。
4、可以解决IE升级对flash的影响,支持绝大部分浏览器版本。

使用方法:
1、首先下载上面的flashobject.js文件,放到你的网页目录下。
2、调用js文件,在<head></head>中加入:
<script type="text/javascript" src="flashobject.js"></script>
3、设置需要插入flash的htm代码:
<div id="flashcontent">这里放上你想替换flash的文字。</div>
4、在上面代码后添加flash的设置代码:
<script type="text/javascript">
var fo = new FlashObject("movie.swf", "mymovie", "200", "100", "7", "#336699");
fo.write("flashcontent");
</script>

上面FlashObject中的基本参数设置依次为:文件地址,ID,宽度,高度,flash版本,背景色。
可选参数有:
useExpressInstall: 快速升级flash player 值为ture/false;
quality:播放品质,默认为"high";
xiRedirectUrl:指定完成(useExpressInstall)快速升级player后的定向网址。
redirectUrl:指定flash player版本不正确的定向网址。
detectKey:flash检测的地址参数,默认为detectflash。如:要不检测flash,可以在网址后面加上?detectflash=false。

fo.write("flashcontent");是把flash内容写到id="flashcontent"里。

Flash参数设置:

一般的flash参数设置为:
<param name="quality" value="high">
<param name="wmode" value="transparent">

而FlashObject的参数设置为:
<script type="text/javascript">
var fo = new FlashObject("movie.swf", "mymovie", "200", "100%", "7", "#336699");
fo.addParam("quality", "low");
fo.addParam("wmode", "transparent");
fo.addParam("salign", "t");
fo.write("flashcontent");
</script>

更多的的参数请参照Macromedia的详细介绍:http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=tn_12701

Flashvars变量设置:

一般的是通过Flashvars来给flash条件变量:
<param name="FlashVars" value="variable1=value1&variable2=value2&variable3=value3">

而FlashObject后的变量设置为:
<script type="text/javascript">
var fo = new FlashObject("movie.swf", "mymovie", "200", "100", "7", "#336699");
fo.addVariable("variable1", "value1");
fo.addVariable("variable2", "value2");
fo.addVariable("variable3", "value3");
fo.write("flashcontent");
</script>
这样设置后,所有的变量就马上传到flash的_root上了。

另外,FlashObject还提供了一个getQueryParamValue()函数来调用URL网址串的参数。
例如网址:http://www.example.com/page.html?variable1=value1&variable2=value2
你可以通过以下方法来把上面的参数传递给flash。
<script type="text/javascript">
var fo = new FlashObject("movie.swf", "mymovie", "200", "100", "7", "#336699");
fo.addVariable("variable1", getQueryParamValue("variable1"));
fo.addVariable("variable2", getQueryParamValue("variable2"));
fo.write("flashcontent");
</script>

同时,getQueryParamValue()还支持从location.hash读取变量。例子:
http://www.slideshowpro.net/demo/demo_default.php

Flash player的快速安装功能

FlashObject完全支持Flash Player的快速安装功能。通过在flash的第一帧添加一段AS代码就可以轻达到检测用户Flash Player版本,并提示更新的功能。expressinstall.as代码如下:

#include "expressinstall.as"
var ExpressInstall = new ExpressInstall();
if (ExpressInstall.needsUpdate) {

var upgradeMsg = attachMovie("upgradeMsg_src", "upgradeMsg", 1);
upgradeMsg._x = Stage.width / 2;
upgradeMsg._y = Stage.height / 2;

upgradeMsg.upgradeBtn.onRelease = function() {
ExpressInstall.init();
}
stop();
}

注意要把上面的AS放到主时间轴第一帧。并且这一帧上不要放任何其他内容。具体示例:
http://blog.deconcept.com/flashobject/expressinstall.html

(0)

相关推荐

  • 基于js与flash实现的网站flv视频播放插件代码

    本文实例讲述了基于js与flash实现的网站flv视频播放插件代码.分享给大家供大家参考. 具体实现代码如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1

  • js实现网页检测是否安装了 Flash Player 插件

    其他插件改一下sID就行了 function testPlugin(){ sID="{D27CDB6E-AE6D-11cf-96B8-444553540000}" with(info){ addBehavior('#default#clientcaps') info.innerText=isComponentInstalled(sID,"componentid")?'Flash插件已安装,版本:'+getComponentVersion(sID,"comp

  • javascript检测浏览器flash版本的实现代码

    记录: 复制代码 代码如下: (function(){ ver has=0, ver=0; try{ has=new ActiveXObject('ShockwaveFlash.ShockwaveFlash'); if(has) { ver = +(has.GetVariable("$version").match(/\d+/)); } } catch(e){ has=navigator.plugins["Shockwave Flash"]; if(has) { v

  • javascript检测flash插件是否被禁用的方法

    本文实例讲述了javascript检测flash插件是否被禁用的方法.分享给大家供大家参考,具体如下: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author

  • FlashObject之Flash的检测和嵌入Javascript脚本

    其特点:1.支持所有flash内置参数设置.且设置更简单方便.2.内嵌flash player升级探测器,并提示升级.3.完全通过XHTML 1.0 Strict验证.4.可以解决IE升级对flash的影响,支持绝大部分浏览器版本. 使用方法:1.首先下载上面的flashobject.js文件,放到你的网页目录下.2.调用js文件,在<head></head>中加入:<script type="text/javascript" src="flas

  • 借助JavaScript脚本判断浏览器Flash Player信息的方法

    今天研究了点Flex技术,做了一个小的Demo,在测试时发现经常报错,网上一查发现是浏览器Flash Player版本较低造成(需要10及其以上的版本)的,对此总结了一下借助JavaScript脚本判断浏览器Flash Player信息的方法: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>JavaScript判断浏

  • 在HTML文档中嵌入JavaScript的四种方法

    在HTML里嵌入JavaScript 在HTML文档里嵌入客户端JavaScript代码有4中方法: 1.内嵌,放置在<script>和</script>标签之间  (少): 2.放置在有<script>标签的src属性指定的外部文件中  (多): 3.放置自HTML事件处理程序中,该事件处理程序由onclick或onmouseover这样的HTML属性值指定它  (很少): 4.放在一个URL里,这个URL使用特殊的协议"javascript"协议

  • 详解怎么检测和防止JavaScript死循环

    目录 前言 在 for 语句中修复无限循环 在 while 语句中修复无限循环 总结 前言 Js死循环是怎么造成的呢!其实在我们写代码时一些不注意或漏写,就写出死循环,就如下面代码: 如果i++没有写上,这个就是死循环了,死循环的后果想知道的自己不防去试试. 死循环就是一段错误的阻止终止循环条件JavaScript代码. 无限循环是危险的,因为它会导致您运行代码的环境(浏览器或 NodeJS 服务器)崩溃或冻结您的计算机,导致它停止响应. for和while语句是一个无限循环的常见原因,所以本教

  • 详解javascript脚本何时会被执行

    javascript脚本可以嵌入在html内的任意地方,但它何时被调用呢?当浏览器打开HTML文件后,会直接运行不是声明函数的脚本或通过事件调用脚本函数,下面分析这几种情况. 1.浏览器在打开页面时执行脚本 当浏览器打开一个HTML文件时,它会从头开始解释整个文件,包括html标签和脚本.如果脚本中有可以直接执行的语句,则会在遇到的时候马上解释执行.主要有以下2种情形: 1).程序启动(这里指浏览器加载页面)这个alert这类函数就会被触发执行 <html> <head> <

  • ASP.NET调用javascript脚本的常见方法小结

    1.直接在前台调用 javascript 函数 很简单,在 head 元素之间加入 script 元素,将 type 元素设置为 " text/javascript " 如: 复制代码 代码如下: <head runat="server"> <script type="text/javascript" > function ShowName(str) { alert("您的名字为:("+str+&quo

  • JavaScript脚本性能的优化方法

    From:http://www.nirvanastudio.org/javascript/improve-javascript-performance.html 作者:ShiningRay @ Nirvana Studio 随着网络的发展,网速和机器速度的提高,越来越多的网站用到了丰富客户端技术.而现在Ajax则是最为流行的一种方式.JavaScript是一种解释型语言,所以能无法达到和C/Java之类的水平,限制了它能在客户端所做的事情,为了能改进他的性能,我想基于我以前给JavaScript

  • MongoDB服务端JavaScript脚本使用方法

    常用JavaScript语句 复制代码 代码如下: db.getSiblingDB(<dbname>)   db.getCollectionNames()    db.getCollection(<collname>)    db.printCollectionStats() 在mongo shell运行JavaScript脚本   切换数据库: 复制代码 代码如下: use <dbname> 运行如下脚本: var total = 0; var dbaStatColl

  • 用JavaScript脚本实现Web页面信息交互

    要实现动态交互,必须掌握有关窗体对象(Form)和框架对象(Frames)更为复杂的知识. 一.窗体基础知识 窗体对象可以使设计人员能用窗体中不同的元素与客户机用户相交互,而用不着在之前首先进行数据输入,就可以实现动态改变Web文档的行为. 1.什么是窗体对象窗体(Form):它构成了Web页面的基本元素.通常一个Web页面有一个窗体或几个窗体,使用Forms[]数组来实现不同窗体的访问.<form Name=Form1><INPUT type=text...><Input

  • 浏览器环境下JavaScript脚本加载与执行探析之defer与async特性

    defer和async特性相信是很多JavaScript开发者"熟悉而又不熟悉"的两个特性,从字面上来看,二者的功能很好理解,分别是"延迟脚本"和"异步脚本"的作用.然而,以defer为例,一些细节问题可能开发者却并不一定熟悉,比如:有了defer特性的脚本会延迟到什么时候执行:内部脚本和外部脚本是不是都能够支持defer:defer后的脚本除了会延迟执行之外,还有哪些特殊的地方等等.本文结合已有的一些文章以及MDN文档中对两个特性的阐述,对de

随机推荐