使用swfobject.js时样式及传参的问题
swfobject.js
最近需要在项目中引入swf文件。
最初的写法:
<div id="recorderDiv">
<object id="recorder"
classid="clsid:d27cdb6e-ae6d-11cf-96b8444553540000"codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"
align="center">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="<%=basePath %>flash/Recorder.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="allowFullScreen" value="false" />
<param name="wmode" value="transparent" />
<embed src="<%=basePath %>flash/Recorder.swf" align="center" type="application/x-shockwave-flash" id="embed">
</object>
</div>
由于IE只支持对Object的解析,火狐、谷歌、Safari只支持对Embed的解析,所以这种写法在版本较高的浏览器中表现的还算正常。
但在IE8下,以上写法弹窗报错:参数无效。
引入swfobject.js后的写法:
function createRecorder() {
var flashvars = {};
var params = {};
var attributes = {
styleclass: "recorderClass"
}
swfobject.embedSWF("<%=basePath %>flash/Recorder.swf" ,"recorderDiv", "320", "220", "9.0.0", "<%=basePath %>flash/Recorder.swf"
, flashvars, params, attributes);
}
这种写法,使得兼容性的问题得以解决。但却带来两个问题:
一、此前为embed标签单独写了样式,这时需要换种方式制定样式
代码如上所示,使用styleclass指定<embed/>的样式
二、在为swf传参数的时候,只能使用json,这在flex中接收比较繁琐
举例来说,当只需要传递一个参数的时候,我们可以参与如下写法:
swfobject.embedSWF("<%=basePath %>flash/Recorder.swf?msgID=" + msgID ,"recorderDiv", "320", "220", "9.0.0", "<%=basePath %>flash/Recorder.swf?msgID=" + msgID, flashvars, params, attributes);
附:从网络下载的zip文件,有时可能因为文件过大而被上传者分成多个部分上传。这样下载的文件可能是:a.zip.001、a.zip.002.
对于这样的文件,有时利用压缩软件无法正常解压缩,可以在命令行运行如下命令:
copy /b a.zip.001+a.zip.002 a.zip 这个命令将两个文件合成一个
之后解压缩a.zip即可
使用swfobject.js时样式及传参的问题的更多相关文章
- JS XMLHttpRequest.upload.addEventListener 传参,回调
JS 回调函数,传参的办法. function uploadFile(t) { var fd = new FormData(); fd.append("_netLogo", doc ...
- js 调用接口并传参
注:需先引入 jquery.json-xx.min.js 1. 参数跟在url后面 var name = '王一'; var age = 18; $.ajax({ type : 'get', url ...
- js加减运算·传参
<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...
- JS中onclick事件传参
美术馆案例中,需要将“增加一个img标签,放入大图片”这样一个函数封装,但是在调用的时候需要传参. <script type="text/javascript"> on ...
- js匿名函数使用&传参
function () { alert("error"); } //报错:匿名函数不能直接调用 使用 0x01 (function () { alert("Success ...
- js中给函数传参函数时,函数加括号与不加括号的区别
<!doctype html><html><head><script> function show() { alert("123") ...
- 使用SetInterval时函数不能传参问题
无论是window.setTimeout还是window.setInterval,在使用函数名作为调用句柄时都不能带参数,而在许多场合必须要带参数,这就需要想方法解决.经网上查询后整理如下:例如对于函 ...
- js中给正则传参、传递变量
js中验证字符串有时需要用到正则表达式,一般情况下直接写正则进行验证就行. 但是遇到需要把部分正则作为参数传递就麻烦一点,需要用到RegExp()对象. <script type="t ...
- Android与JS交互,json传参问题
一.JS调用Android的方法 JS调用安卓的方法,并且传递的参数为json格式的字符串(JSONObject.toString()), 例如: var json = {"name&quo ...
随机推荐
- android 存储目录
之前一直不知道 sdcard/Android目录什么作用,我做的项目里面缓存数据到本地一般都是在sdcard上面建一个文件,然后把数据放在这个文件夹下面的子文件夹下.下面介绍一种更好的解决方法. 应用 ...
- 从不同方面寻找bug
从小学生的角度,为了熟能生巧,更好掌握知识,那就需要不断的练习,然而app没有重新开始的功能,要退出再重新进入,很麻烦.还有,如果小学生只想做一类的计算,例如,只想做减法或乘法,那么它就不能满足. 我 ...
- [转]逻辑斯蒂回归 via python
# -*- coding:UTF-8 -*-import numpydef loadDataSet(): return dataMat,labelMat def sigmoid(inX): retur ...
- 生产uuid
uuid生产功能 近端时间要做一个获取唯一流水号的功能,于是有了:ip+starttime+pid+flow的方式. import java.lang.management.ManagementFac ...
- php:微信公众号token验证失败原因、验证码显示不出来的问题
ob_clean(); 问题描述: 用微信官方提供的demo验证token是成功的,但是放到自己网站的框架上进行token验证老是提示"token验证失败",经过检查(用生成日志的 ...
- openssh升级至7.2
此处升级操作的原则是保留系统原有ssh服务,新安装高版本ssh服务 1.下载openssh源码包 http://www.openssh.com/portable.html 2.安装#tar zxvf ...
- React Native 实现页面动态切换
第一步. 初始化子View constructor(props){ super(props); this.state = { isChange : true, itemView : (<Text ...
- openvpn配置教程
openvpn配置教程 本文是为解决本地服器能从外网访问web页,从新改写(临摹) 烂泥:ubuntu 14.04搭建OpenVPN服务器这篇文章 腾讯云为服务器,本地服务器为客户端 一.服务器安装o ...
- RHCA-红帽认证架构师
OpenStack: 向部署应用 配置域.数据源子系统.中实施应用安全 迁移应用至 介绍集群 考试代码 任选其中五门: (红帽企业虚拟化) (红帽企业部署和系统管理) (红帽企业服务器硬化) (红帽企 ...
- Android Studio启动模拟器
创建模拟器时出现vt x is disabled in bios 出现错误提示:"Intel HAXM is required to run this AVD,VT-x is disable ...