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 相关文章推荐
TFDN图片播放器 不错自动播放
Oct 03 Javascript
javascript实现漂亮的拖动层,窗口拖拽特效
Apr 24 Javascript
jQuery+css实现的蓝色水平二级导航菜单效果代码
Sep 11 Javascript
jQuery实现可以控制图片旋转角度效果(附demo源码下载)
Jan 27 Javascript
javascript实现列表切换效果
May 02 Javascript
JS实现验证码倒计时的注册页面
Jan 02 Javascript
vue脚手架及vue-router基本使用
Apr 09 Javascript
js中对象和面向对象与Json介绍
Jan 21 Javascript
原生JS实现随机点名项目的实例代码
Apr 30 Javascript
js实现鼠标拖拽div左右滑动
Jan 15 Javascript
在vue中使用image-webpack-loader实例
Nov 12 Javascript
Vue鼠标滚轮滚动切换路由效果的实现方法
Aug 04 Vue.js
用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仿微信红包分配算法的实现方法
2016/05/13 PHP
jQuery中与toggleClass等价的程序段 以及未来学习的方向
2010/03/18 Javascript
asp.net+js 实现无刷新上传解析csv文件的代码
2010/05/17 Javascript
原生javascript和jquery判断浏览器版本等信息
2013/07/04 Javascript
window.location.href = window.location.href 跳转无反应 a超链接onclick事件写法
2013/08/21 Javascript
解决Jquery鼠标经过不停滑动的问题
2014/03/03 Javascript
Jquery的each里用return true或false代替break或continue
2014/05/21 Javascript
jquery 操作css样式、位置、尺寸方法汇总
2014/11/28 Javascript
日常收藏的jquery技巧
2015/12/02 Javascript
JS提示:Uncaught SyntaxError:Unexpected token ) 错误的解决方法
2016/08/19 Javascript
vue-router项目实战总结篇
2018/02/11 Javascript
Nodejs对postgresql基本操作的封装方法
2019/02/20 NodeJs
面试题:react和vue的区别分析
2019/04/08 Javascript
vue使用video插件vue-video-player的示例
2020/10/03 Javascript
[02:04]2018DOTA2亚洲邀请赛Secret赛前采访
2018/04/03 DOTA
跟老齐学Python之dict()的操作方法
2014/09/24 Python
Python计算三角函数之asin()方法的使用
2015/05/15 Python
python爬取w3shcool的JQuery课程并且保存到本地
2017/04/06 Python
利用Python2下载单张图片与爬取网页图片实例代码
2017/12/25 Python
python+selenium实现163邮箱自动登陆的方法
2017/12/31 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
2019/05/27 Python
Django自带日志 settings.py文件配置方法
2019/08/30 Python
Python学习之os模块及用法
2020/06/03 Python
python中二分查找法的实现方法
2020/12/06 Python
python 指定源路径来解决import问题的操作
2021/03/04 Python
HTML5是否真的可以取代Flash
2010/02/10 HTML / CSS
班长岗位职责
2013/11/10 职场文书
中式结婚主持词
2014/03/14 职场文书
期中考试反思800字
2014/05/01 职场文书
施工安全汇报材料
2014/08/17 职场文书
会计试用期自我评价
2014/09/19 职场文书
教你做个可爱的css滑动导航条
2021/06/15 HTML / CSS
Mysql数据库值的添加、修改、删除及清空操作实例
2021/06/20 MySQL
SpringBoot系列之MongoDB Aggregations用法详解
2022/02/12 MongoDB
vue如何使用模拟的json数据查看效果
2022/03/31 Vue.js
利用Python脚本写端口扫描器socket,python-nmap
2022/07/23 Python