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 相关文章推荐
通过JAVAScript实现页面自适应
Jan 19 Javascript
javascript之卸载鼠标事件的代码
May 14 Javascript
JS操作Cookies的小例子
Oct 15 Javascript
js将控件隐藏及display属性的使用介绍
Dec 30 Javascript
JavaScript实现继承的4种方法总结
Oct 16 Javascript
jQuery中Ajax的load方法详解
Jan 14 Javascript
JQuery中extend的用法实例分析
Feb 08 Javascript
Bootstrap插件全集
Jul 18 Javascript
vue.js实现的全选与全不选功能示例【基于elementui】
Dec 03 Javascript
vue实现动态按钮功能
May 13 Javascript
javascript/jquery实现点击触发事件的方法分析
Nov 11 jQuery
vue点击按钮实现简单页面的切换
Sep 08 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
PHP读写文件的方法(生成HTML)
2006/11/27 PHP
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
2013/09/30 PHP
PHP简单创建压缩图的方法
2016/08/24 PHP
javascript数组使用调用方法汇总
2007/12/08 Javascript
jQuery 使用手册(四)
2009/09/23 Javascript
通过隐藏option实现select的联动效果
2009/11/10 Javascript
js导出table数据到excel即导出为EXCEL文档的方法
2013/10/10 Javascript
JavaScript中绑定事件的三种方式及去除绑定
2016/11/05 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
2017/05/24 Javascript
Angularjs验证用户输入的字符串是否为日期时间
2017/06/01 Javascript
React Native使用百度Echarts显示图表的示例代码
2017/11/07 Javascript
javaScript手机号码校验工具类PhoneUtils详解
2017/12/08 Javascript
elementUI select组件默认选中效果实现的方法
2019/03/25 Javascript
vue和iview实现Scroll 数据无限滚动功能
2019/10/31 Javascript
python中wx将图标显示在右下角的脚本代码
2013/03/08 Python
Python3基础之list列表实例解析
2014/08/13 Python
给Python初学者的一些编程技巧
2015/04/03 Python
粗略分析Python中的内存泄漏
2015/04/23 Python
Python的Django框架中settings文件的部署建议
2015/05/30 Python
Python 操作文件的基本方法总结
2017/08/10 Python
Python内存管理方式和垃圾回收算法解析
2017/11/11 Python
python基础教程项目五之虚拟茶话会
2018/04/02 Python
基于Python log 的正确打开方式
2018/04/28 Python
用Python写一个模拟qq聊天小程序的代码实例
2019/03/06 Python
python实现井字棋小游戏
2020/03/04 Python
解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题
2020/07/14 Python
css 省略号 css3让多余的字符串消失并附加省略号的实现代码
2013/02/07 HTML / CSS
Javascript 高级手势使用介绍
2013/04/21 HTML / CSS
BIBLOO捷克:购买女装、男装、童装、鞋和配件
2017/01/27 全球购物
农村婚礼主持词
2014/03/13 职场文书
公务员政审单位鉴定材料
2014/05/16 职场文书
党的群众路线教育实践活动总结报告
2014/07/03 职场文书
2015年高三毕业班班主任工作总结
2015/10/22 职场文书
python学习之panda数据分析核心支持库
2021/05/07 Python
简单谈谈Python面向对象的相关知识
2021/06/28 Python
微信小程序中使用vant框架的具体步骤
2022/02/18 Javascript