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实例教程(19) 使用HoTMetal(2)
Dec 23 Javascript
Json对象替换字符串占位符实现代码
Nov 17 Javascript
使用jquery为table动态添加行的实现代码
Mar 30 Javascript
简洁Ajax函数处理(示例代码)
Nov 15 Javascript
Backbone.js框架中简单的View视图编写学习笔记
Feb 14 Javascript
jquery实现下拉框多选方法介绍
Jan 03 Javascript
AngularJS获取json数据的方法详解
May 27 Javascript
vue如何进行动画的封装
Sep 26 Javascript
Node.js在图片模板上生成二维码图片并附带底部文字说明实现详解
Aug 07 Javascript
解决vue语法会有延迟加载显现{{xxx}}的问题
Nov 14 Javascript
jQuery与原生JavaScript选择HTML元素集合用法对比分析
Nov 26 jQuery
Javascript var变量删除原理及实现
Aug 26 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
CentOS 6.2使用yum安装LAMP以及phpMyadmin详解
2013/06/17 PHP
thinkphp3.2.2实现生成多张缩略图的方法
2014/12/19 PHP
php观察者模式应用场景实例详解
2017/02/03 PHP
Yii 2.0如何使用页面缓存方法示例
2017/05/23 PHP
JavaScript入门教程 Cookies
2009/01/31 Javascript
javaScript 判断字符串是否为数字的简单方法
2009/07/25 Javascript
在JS中最常看到切最容易迷惑的语法(转)
2010/10/29 Javascript
JavaScript实现统计文本框Textarea字数增强用户体验
2012/12/21 Javascript
js浏览器本地存储store.js介绍及应用
2014/05/13 Javascript
Javascript 赋值机制详解
2014/11/23 Javascript
JavaScript实现获取dom中class的方法
2015/02/09 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
将List对象列表转换成JSON格式的类实现方法
2016/07/04 Javascript
jquery获取下拉框中的循环值
2017/02/08 Javascript
基于Bootstrap框架实现图片切换
2017/03/10 Javascript
浅谈JS中几种轻松处理'this'指向方式
2019/09/16 Javascript
在Vue中使用mockjs代码实例
2020/11/25 Vue.js
[45:14]Optic vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
Python操作json数据的一个简单例子
2014/04/17 Python
Python获取本机所有网卡ip,掩码和广播地址实例代码
2018/01/22 Python
Python实现合并同一个文件夹下所有txt文件的方法示例
2018/04/26 Python
浅谈python脚本设置运行参数的方法
2018/12/03 Python
Python实现html转换为pdf报告(生成pdf报告)功能示例
2019/05/04 Python
python,Django实现的淘宝客登录功能示例
2019/06/12 Python
Python将列表中的元素转化为数字并排序的示例
2019/12/25 Python
python cv2在验证码识别中应用实例解析
2019/12/25 Python
Python sep参数使用方法详解
2020/02/12 Python
详解Python中import机制
2020/09/11 Python
解决HTML5手机端页面缩放的问题
2017/10/27 HTML / CSS
ToysRus日本官网:玩具反斗城
2018/09/08 全球购物
音乐学院硕士生的自我评价分享
2013/11/01 职场文书
幼儿园教师个人反思
2014/01/30 职场文书
《猴子种果树》教学反思
2014/04/26 职场文书
反腐倡廉警示教育活动心得体会
2014/09/04 职场文书
导游词之岳阳楼
2019/09/25 职场文书
详解Vue的列表渲染
2021/11/20 Vue.js