加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营 > 正文

网页中嵌入 Flash 的要领接头

发布时间:2018-08-20 14:34:55 所属栏目:运营 来源:站长网
导读:Flash 嵌入的题目论坛中有人问了许多几何次,到底应该怎么用,为什么通不外验证,要通过验证怎么办等等等。 接头中也呈现了不少的误解,以是我单开一个帖总结一下我所知道的对象,不想看我罗嗦的直接跳到最后看结论就可以了。 一、传统的要领。 这要领是行使 ob
Flash 嵌入的题目论坛中有人问了许多几何次,到底应该怎么用,为什么通不外验证,要通过验证怎么办等等等。
接头中也呈现了不少的误解,以是我单开一个帖总结一下我所知道的对象,不想看我罗嗦的直接跳到最后看结论就可以了。

一、传统的要领。

这要领是行使 object 和 embed 标签来嵌入,仔细的会发明,object 的许多参数和 embed 内里的许多属性是一再的,为什么这样做?为了赏识器兼容性,有的赏识器支持 object,有的支持 embed,这也是为什么要修改 Flash 的参数时两个处所都要改的缘故起因。这种要领是 Macromedia 一向以来的官方要领,最大限度的担保了 Flash 的成果,没有兼容性题目。可是它此刻不那么好用了:

无法通过验证,因为为了兼容性而嵌入的 embed 标签是不切合 W3C 的类型的。虽然,假如你不在乎什么类型不类型,另当别论。

微软因为各种缘故起因,在 sp2 后限定了 IE 的 ActiveX 的行使模式,就是在页面中的 ActiveX 有一个虚框,必要用户点击一次才气正常交互。Flash是作为一个 ActiveX 嵌入到网页中的,以是它也会受连累,只有通过 JS 嵌入 Flash 才气办理这个题目。

没有 Flash 版本检测,假如版本赏识器的flash插件版本不足,可能不能正常表现你的 swf 文件,可能会弹出一个 ActiveX 简直认安装的框——这个框对许多用户来说是很可怕的。

二、只用 object 的要领,这种要领的名字叫做 Flash satay,最早是2002年由 Drew McLellan 颁发在 A List Apart 上,其后又颠末尾屡次完美:
这要领没 embed 了,可以通过验证,是尺度的嵌入 Flash 的要领,赏识器兼容性也不错,看起来险些美满,不外照旧有题目的:

必要一个 holder swf 来加载你的方针 swf 以担保 IE 中的 stream 手段,假如你必要通过 flashvars 来传参,可能和页面的 JS 交互,会很贫困。

同上面第二点,ActiveX的虚框题目。

继承同上没有版本检测

照旧有少数用户署理(好比一些版本的 safari 和一些屏幕阅读器)不认这种方法,有 bug。

三、用JS嵌入的要领。
用JS嵌入就是各有各的嵌入要领了,有嵌得好的有嵌得欠好的。有人用 document.write 直接写,这行动说真话不大好,感受 hack 因素多了,有点为了验证而验证的意思,并且没有浮现出什么 JS 的上风。我认为一个好的 JS 嵌入剧本,在担保 Flash 应有成果的基本上,要施展 JS 的上风应该要有版本检测,要能很好办理可会见性题目(也就是用户在无法赏识 Flash 内容或禁用 JS 的时辰应该如那里理赏罚的题目),要易于一再行使。
我知道的较量常见的 JS 嵌入要领有以下几个

SWFObject

UFO - Unobtrusive Flash Objects

Macomedia(此刻是Adobe了..)提供的剧本[这里]和[这里]。


我 SWFObject 用的较量多,就挑它来说一些这种要领的利益:

IE中没有厌恶的虚框题目了。

提供了完美的版本检测成果,假如版本不足则表现其他对象,好比图片或笔墨。

易于行使,只要在页面头加载一个 .js 文件,然后 HTML 写一个容器,内里放平凡的文本或图片(用于无法表现 Flash 时表现),最后用脚原来替代这个元素内里的内容为 Flash。

可以通过验证——虽然这个不是重点,只是顺带结果而已。

四、我的结论。
现阶段用 JS 嵌入 Flash 是最美满的要领,固然这行动这也是因为赏识器的各种题目而作出的妥协。
但它在担保 Flash 成果的条件下还操作 JS 提供了特另外甜头,再者又已经有人写了很完美的嵌入剧本可以方面地下载行使(保举 SWFObject),我们尚有什么来由不消它呢?

SWFObject 那网页是英文的,这里写个简朴的用法教程:

下载它的.js文件,在这里: http://blog.deconcept.com/swfobject/swfobject1-4.zip (假如链接失效也许是版本有更新,请用上面给出的地点去主页下载最新版本)

在你的 HTML 页面头部<head>区嵌入这个剧本文件:<script type="text/javascript" src="swfobject.js"></script>

在你的 HTML 中写一个用来放 Flash 的容器,好比<div>,并任意给一个 id 好比 flashcontent。然后在内里放上你的替代内容。
<div id="flashcontent">
这里放替代内容,用来在 Flash 无法表现时表现。
</div>

行使剧本替代这个内容:
<script type="text/javascript">
var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7", "#336699");
//参数意思: 地点,Flash 的 id(不是容器的 id),宽,高,版本需求,配景颜色
//这是最根基的,假如你要高级的配置,就细心翻翻声名吧。
so.write("flashcontent");
</script>
这剧本可以写在 HTML 中也可以写在外部 .js 文件中。

OK

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读