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


Posted in Javascript onFebruary 18, 2013

我们知道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("?") 字串9 
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"> 字串5 
<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="never" allowNetworking="internal" autostart="0" 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; 
字串8 
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"); 字串2 
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>
Javascript 相关文章推荐
js技巧--转义符&quot;\&quot;的妙用
Jan 09 Javascript
获取焦点时,利用js定时器设定时间执行动作
Apr 02 Javascript
JS维吉尼亚密码算法实现代码
Nov 09 Javascript
动态的绑定事件addEventListener方法的使用
Jan 24 Javascript
jQuery中:gt选择器用法实例
Dec 29 Javascript
Javascript实现鼠标框选操作  不是点击选取
Apr 14 Javascript
详解Vue2.0 事件派发与接收
Sep 05 Javascript
js实现鼠标单击Tab表单切换效果
May 16 Javascript
vue router的基本使用和配置教程
Nov 05 Javascript
解决layui轮播图有数据不显示的情况
Sep 16 Javascript
解决在Vue中使用axios POST请求变成OPTIONS的问题
Aug 14 Javascript
JS中一些高效的魔法运算符总结
May 06 Javascript
用js写了一个类似php的print_r输出换行功能
Feb 18 #Javascript
让ie6也支持websocket采用flash封装实现
Feb 18 #Javascript
当自定义数据属性为json格式字符串时jQuery的data api问题探讨
Feb 18 #Javascript
jQuery筛选器children()案例详解(图文)
Feb 17 #Javascript
正则表达式搭配js轻松处理json文本方便而老古
Feb 17 #Javascript
jQuery图片播放8款精美插件分享
Feb 17 #Javascript
jQuery性能优化28条建议你值得借鉴
Feb 16 #Javascript
You might like
mysql时区问题
2008/03/26 PHP
PHP 二维数组根据某个字段排序的具体实现
2014/06/03 PHP
php如何实现只替换一次或N次
2015/10/29 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
2016/03/17 PHP
php metaphone()函数的定义和用法
2016/05/15 PHP
js 判断浏览器类型 去全角、半角空格 自动关闭当前窗口
2009/04/10 Javascript
JQuery中serialize()、serializeArray()和param()方法示例介绍
2014/07/31 Javascript
使用js复制链接中的部分文字的方法
2015/07/30 Javascript
谈一谈JS消息机制和事件机制的理解
2016/04/14 Javascript
深入浅析JavaScript中的Function类型
2016/07/09 Javascript
TypeScript学习之强制类型的转换
2016/12/27 Javascript
mui上拉加载功能实例详解
2017/04/13 Javascript
javascript中json对象json数组json字符串互转及取值方法
2017/04/19 Javascript
vue2.0 中#$emit,$on的使用详解
2017/06/07 Javascript
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
2018/02/10 Javascript
nodejs高大上的部署方式(PM2)
2018/09/11 NodeJs
微信二次分享报错invalid signature问题及解决方法
2019/04/01 Javascript
面试题:react和vue的区别分析
2019/04/08 Javascript
vue微信分享的实现(在当前页面分享其他页面)
2019/04/16 Javascript
python实现根据用户输入从电影网站获取影片信息的方法
2015/04/07 Python
在Python中使用SimpleParse模块进行解析的教程
2015/04/11 Python
Python基于二分查找实现求整数平方根的方法
2016/05/12 Python
Python实现判断一行代码是否为注释的方法
2018/05/23 Python
TensorFlow用expand_dim()来增加维度的方法
2018/07/26 Python
python中将\\uxxxx转换为Unicode字符串的方法
2018/09/06 Python
python实现发送form-data数据的方法详解
2019/09/27 Python
查看jupyter notebook每个单元格运行时间实例
2020/04/22 Python
利用HTML5绘制点线面组成的3D图形的示例
2015/05/12 HTML / CSS
小狗电器官方商城:中国高端吸尘器品牌
2017/03/29 全球购物
Omio法国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/13 全球购物
计算机专业求职信
2014/06/02 职场文书
单位委托书怎么写
2014/09/21 职场文书
教师群众路线心得体会
2014/11/04 职场文书
地陪导游欢迎词
2015/01/26 职场文书
同学会感言
2015/07/30 职场文书
快速学习Oracle触发器和游标
2021/06/30 Oracle