`

html向swf传递参数的方法

 
阅读更多

本教程主要介绍HTML网页如何取得形如test.html?foo=mytest的foo参数,以及在HTML网页中如何向swf传递参数。

一、在HTML网页中使用js获取参数。
我们知道HTML页面是在客户端执行的,这样要获取参数必须使用客户端脚本(如JavaScript),在这点上不同于服务器端脚本获取参数方式。
下面的这段js代码获取HTML网页形如"test.html?foo=mytest&program=flash" "?"后所有参数。

<script language=javascript>
<!--
var hrefstr,pos,parastr;
hrefstr = window.location.href;
pos = hrefstr.indexOf("?");
parastr = hrefstr.substring(pos+1);
if (pos>0){
document.write("所有参数:"+parastr);
} else {
document.write("无参数");
}
//-->
</script>



下面的这段js代码则可以更加细化获取HTML网页某一参数

<script language=javascript>
<!--
function getparastr(strname) {
var hrefstr,pos,parastr,para,tempstr;
hrefstr = window.location.href;
pos = hrefstr.indexOf("?")
parastr = hrefstr.substring(pos+1);

para = parastr.split("&");
tempstr="";
for(i=0;i<para.length;i++)
{
tempstr = para[i];
pos = tempstr.indexOf("=");
if(tempstr.substring(0,pos) == strname) {
return tempstr.substring(pos+1);
}
}
return null;
}
// 获取program参数
var programstr = getparastr("program");
document.write(programstr);
//-->
</script>



二、在HTML网页中向swf传递参数。
方法一:在网页中使用js,SetVariable设置flashobject中的变量,代码如:

// "HtmlToSwf"为网页中的flashobject ID
HtmlToSwf.SetVariable("_root.info_str","Happy Newyear");


方法二:路径参数,如test.swf?foo=happy2005
方法三:使用FlashVars,以下主要介绍FlashVars的用法。使用FlashVars后嵌入HTML的flashobject代码如下:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="550" height="400" id="FlashVars" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="FlashVars.swf" />
<param name="FlashVars" value="foo=happy2005&program=flash&language=简体中文-中国" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="FlashVars.swf" quality="high" bgcolor="#ffffff" width="550" height="400" name="FlashVars" align="middle" allowScriptAccess="sameDomain" FlashVars="foo=happy2005&program=flash&language=简体中文-中国" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />



通过上面的代码,在SWF(FlashVars.swf)中就可以直接获取foo、program、language变量数据。FlashVars.fla获取FlashVars参数的代码如下:

// 创建三个文本字段
_root.createTextField("foo_txt",1,0,0,16,16);
_root.createTextField("program_txt",2,0,32,16,16);
_root.createTextField("language_txt",3,0,64,16,16);
foo_txt.autoSize = true;
foo_txt.border = true;
program_txt.autoSize = true;
program_txt.border = true;
language_txt.autoSize = true;
language_txt.border = true;
// 获取FlashVars变量
foo_txt.text = "HTML中的foo参数:"+foo;
program_txt.text = "HTML中的program参数:"+program;
language_txt.text = "HTML中的language参数:"+language;



三、两者的有效结合。
在HTML网页中使用js获取参数,然后将获取的参数作为FlashVars写入flashobject传递给swf。代码如下:

<script language=javascript>
<!--
function writeflashobject(parastr) {
document.write("<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0\" width=\"550\" height=\"400\" id=\"FlashVars\" align=\"middle\"\>\n");
document.write("<param name=\"allowScriptAccess\" value=\"sameDomain\" /\>\n");
document.write("<param name=\"movie\" value=\"FlashVars.swf\" /\>\n");
document.write("<param name=\"FlashVars\" value=\""+ parastr +"\" /\>\n");
document.write("<param name=\"quality\" value=\"high\" /\>\n");
document.write("<param name=\"bgcolor\" value=\"#ffffff\" /\>\n");
document.write("<embed src=\"FlashVars.swf\" quality=\"high\" bgcolor=\"#ffffff\" width=\"550\" height=\"400\" name=\"FlashVars\" align=\"middle\" allowScriptAccess=\"sameDomain\" FlashVars=\""+ parastr +"\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" /\>");
document.write("</object\>");
}
function getparastr() {
var hrefstr,pos,parastr,para,tempstr1;
hrefstr = window.location.href;
pos = hrefstr.indexOf("?")
parastr = hrefstr.substring(pos+1);
return parastr;
}
var parastr = getparastr();
writeflashobject(parastr);
//-->
</script>

分享到:
评论

相关推荐

    js获取html参数及向swf传递参数应用介绍

    HTML页面是在客户端执行的,这样要获取参数必须使用客户端脚本如JavaScript,在这点上与服务器端脚本获取参数方式有所不同接下来将详细介绍下感兴趣的你可不要错过了哈

    xheditor-1.1.14

    方法2:利用xhEditor提供的jQuery插件接口来实现对特定textarea的初始化和传递参数,例: $('#elm1').xheditor(); 或者 $('#elm1').xheditor({tools:'mini'}); 特别说明:两种初始化方法只能选择其中一种使用,如果...

    uploader:依靠原生html元素处理上传的javascript类

    创建一个完整的上传组件,需要指定充当上传按钮的dom、post的目标地址,以及格式化返回数据的方法,可以在参数中传递,也可先创建对象再定义。 ##参数(属性)解释 @{string} action 接受上传的地址 @{object} dom ...

    富头像上传编辑器演示

    如果之前的版本中有传递额外的参数到上传接口的,更新此版本后请自行修改接口文件中获取参数的方式。如:php的$_GET["x"]换成$_POST["x"]。 修复了将头像颜色调整工具隐藏(avatar_tools_visible=false)时,部分...

    syntaxhighlighter 使用方法

    SyntaxHighlighter 还提供了一些扩展配置选项,可以通过冒号分隔的参数传递给代码块。例如,可以使用以下代码来折叠代码块: ```html &lt;pre name="code" class="html:collapse"&gt;... some code here ...&lt;/pre&gt; ``` ...

    AppEmit.zip

    主要采用了HTML5国际标准的Web Socket进行通话,默认为异步, JSON格式传递参数。  主要功能: 1) 在几乎所有浏览器播放含有flash的网页或Flash文件,包括swf交互动画、flv影视等 2) 在浏览器打开、操作本地文件,...

    风越ASP代码生成器 试用版

     3、支持通过数据表中的组合主键传递参数 ★  4、支持设置允许提交内容的长度、类型(数字、日期、汉字、空值等)的限制条件 ★  5、支持对用户输入内容进行服务器端与客户端JS双重验证 ★  6、支持自动生成多组...

    风越ASP代码生成器 [FireAsp Creator]

     1、支持Microsoft SQL Server及Microsoft Access数据库  2、支持从数据表、视图(Access为查询)中读取数据字段  3、支持通过数据表中的组合主键传递参数 ★  4、支持设置允许提交内容的长度、...

    大名鼎鼎SWFUpload- Flash+JS 上传

     该事件在文件上传之前触发,它用于完成一些准备工作,比如传递参数;负责响应该事件的句柄函数可以有2个返回值(true 或 false)当返回值为false时,整个上传将被取消;当返回值为true时上传过程继续进行。而如果...

    EXCEL集成工具箱V6.0

    【EXCEL转文本】 将当前工作表中存储格的内容按指定分隔符号导出为TEXT文本,此为银行代发工资数据与邮局或银行传递数据的便利工具之一。并提供两种方式的转换。 成本核算 【取唯一值】 还在使用&lt;分类汇总&gt;或&lt;小计&gt;...

    风越ASP代码生成器 2.4

    04、支持通过数据表中的组合主键传递参数 05、支持CSS统一设置页面风格 06、支持多种控件输入方式: 文本框 文本域 UBB文本框(支持UBB文本输入) 密码框 隐藏域 日期选择 单选框 复选框 下拉框 多选列表 单选列表 ...

    EXCEL集成工具箱V8.0完整增强版(精简)

    【EXCEL转文本】 将当前工作表中存储格的内容按指定分隔符号导出为TEXT文本,此为银行代发工资数据与邮局或银行传递数据的便利工具之一。并提供两种方式的转换。 成本核算 【取唯一值】 还在使用&lt;分类汇总&gt;或&lt;小计...

    风越ASP代码生成器FireAspCreatorv2.9.rar

    04、支持通过数据表中的组合主键传递参数 05、支持CSS统一设置页面风格 06、支持多种控件输入方式: 文本框 文本域 UBB文本框(支持UBB文本输入) 密码框 隐藏域 日期选择 单选框 复选框 下拉框 多选列表 单选列表 ...

    风越.Net代码生成器 [FireCode Creator] V1.3 精简版

    04、支持通过数据表中的组合主键传递参数 05、支持CSS统一设置页面风格 06、支持多种控件输入方式: 文本框 文本域 UBB文本框(支持UBB文本输入) 密码框 隐藏域 日期选择 单选框 复选框 下拉框 多选列表 单选列表 ...

    风越.net代码生成器v2.9

    04、支持通过数据表中的组合主键传递参数 05、支持CSS统一设置页面风格 06、支持多种控件输入方式: 文本框 文本域 UBB文本框(支持UBB文本输入) 密码框 隐藏域 日期选择 单选框 复选框 下拉框 多选列表 单选列表 ...

    风越ASP代码生成器2.8

    04、支持通过数据表中的组合主键传递参数 05、支持CSS统一设置页面风格 06、支持多种控件输入方式: 文本框 文本域 UBB文本框(支持UBB文本输入) 密码框 隐藏域 日期选择 单选框 复选框 下拉框 多选列表 单选列表 ...

    flex3的cookbook书籍完整版dpf(包含目录)

    定义方法参数 1.17节.检测对象数据类型 1.18节.接口的定义和实现 第二章. 控件与菜单(37) 2.1节. 监听按钮点击 2.2节. 创建一组状态按钮 2.3节. 使用ColorPicker设置Canvas颜色 2.4节. 使用SWFLoader载入SWF 2.5节...

    Maven权威指南 很精典的学习教程,比ANT更好用

    传递性依赖和范围 9.4.5. 冲突解决 9.4.6. 依赖管理 9.5. 项目关系 9.5.1. 坐标详解 9.5.2. 多模块项目 9.5.3. 项目继承 9.6. POM最佳实践 9.6.1. 依赖归类 9.6.2. 多模块 vs. 继承 9.6.2.1. 简单...

Global site tag (gtag.js) - Google Analytics