之所以写这篇文章,主要是因为组长给提的一个新的需求——使用浏览器调用电脑的摄像头,来实现即时拍照的功能。在网上查了很多资料,由于这样那样的原因,最终选择了使用flash插件来调用pc的摄像头。当然,这个需求是基于B/S架构的,因此,就在想怎么把它嵌入到前端的HTML页面中。
题外话
当然,这里还没有考虑到封装,主要是先以实现为目的,后续工作再根据业务进行抽象,封装成通用的组件。好了,废话不多说,看重点。
嵌入插件
使用 object 和 embed 标签
代码展示
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"
width="490" height="390" id="Untitled-1" align="middle">
type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
这种方法用到的是 Object 和 Embed 标签,可以看到 object 的很多参数和 embed 里面的很多属性是重复的。浏览器兼容性,有的浏览器支持 object,有的支持 embed,这也是为什么要修改 Flash 的参数时两个地方都要改的原因。这种方法是 Macromedia 一直以来的官方方法,最大限度的保证了 Flash 的功能,没有兼容性问题。
但现在来看,它还是存在很大问题的。
首先,无法通过验证,由于为了兼容性而嵌入的 embed 标签是不符合 W3C 的规范的。当然,如果你不在乎什么规范不规范,另当别论。
其次,微软由于种种原因,在 sp2 后限制了 IE 的 ActiveX 的使用模式,就是在页面中的 ActiveX 有一个虚框,需要用户点击一次才能正常交互。Flash是作为一个 ActiveX 嵌入到网页中的,所以它也会受牵连,只有通过 JS 嵌入 Flash 才能解决这个问题。
再次,没有 Flash 版本检测,如果版本浏览器的flash插件版本不够,或者不能正常显示你的 swf 文件,或者会弹出一个 ActiveX 的确认安装的框——这个框对很多用户来说是很恐怖的。
只使用 object 标签
代码展示
这种方法只用到了 Object 标签,其实也就是 Flash satay。由于没有了 embed 标签,可以通过验证,是标准的嵌入 Flash 的方法,浏览器兼容性也不错,看起来几乎完美,不过还是有问题的。
首先,需要一个 holder swf 来加载你的目标 swf 以保证 IE 中的 stream 能力,如果你需要通过 flashvars 来传参,或者和页面的 JS 交互,会很麻烦。
其次,和第一种方法一样,也会弹出一个ActiveX的提示框,没有版本检测。
再次,一些低版本的浏览器(如低版本的Safari等)不认同这种方式,对它的兼容性不好。
只使用 embed 标签
代码展示
这种方法只用到了 Embed 标签,对比效果来说,还是很不错的,浏览器的兼容性也还不错,都是可以加载的。当然,由于 embed 标签是不符合 W3C 的规范的,所以也不推荐使用这种方法。
使用JavaScript嵌入
使用 JS 来加载 Flash 插件,网上已经有很多的方法了,而且也有很多不错的 JS 插件供大家选择。我这里只拿 SWFObject 来简单的介绍一下。
首先,你需要下载一个 SWFObject 插件包,该插件包中包含一个 JS 脚本,这个是你需要引入的脚步文件。还包括两个 html 的例子,大家可以模仿一下。当然,你还可以去 SWFObject 的网站了解一下,网址请点击 这里 。
代码展示
效果图

结束语
对比这几种方式,我更推荐使用 JS 嵌入的方式来加载 Flash 插件,这种方式不仅能保证实现 Flash 的所有功能,同时在各浏览器的兼容性方面也都表现不错,并且 JS 还可以提供更多的扩展功能,更主要是可以被更多的人复用,减少不必要的冗余代码。
插件下载地址:SWFObject

谷歌浏览器不支持flash插件怎么办?如今不少用户都在使用谷歌浏览器,部分用户在使用谷歌浏览器的是偶会弹出提示“AdobeFlashPlayer已被屏蔽”页面,这种情况下我们需要在设置里手动打开FlashPlayer,那么具体的操作方法是什么呢?相信大家都想知道吧。下面就让小编给大家说说解决不支持flash插件问题方法介绍,有需要的朋友赶紧来学习一下吧。解决不支持flash插件问题方法介绍1、点击谷歌浏览器右上角图标,如图所示。2、在跳出的对话框中单击设置,如图所示。3、点击隐私设置和安全性,然

我们很多用户在使用Edge浏览器的时候都安装了flash插件,但是还是无法自动播放视频,需要用户手动在进行操作,那么要怎么设置才能够自动播放,针对这个问题,本期小编就来分享两种操作方法,希望今天的软件教程内容能够帮助各位解决问题。 Edge浏览器flash插件不能自动播放解决方法: 方法一: 1、双击进入软件,点击页面中的“...”按钮。 2、在下方给出的选项列表中选择“设置”。 3、点击新界面中的“高级”选项。 4、

QQ浏览器提示未安装flash插件怎么办?flash插件是能够支持大家在浏览器里查看图片和视频的,一般情况下浏览器里自带有flash插件,不过最近有不少QQ浏览器用户在使用的时候页面提示未安装flash插件,导致很多内容无法正常显示,那么我们如何解决这个问题呢。接下来小编就给大家带来QQ浏览器未安装flash插件解决方案,希望能够对大家有所帮助。QQ浏览器未安装flash插件解决方案1、打开QQ浏览器,如图点击右上角的“菜单”图标,如下图所示。2、这时会弹出一个二级菜单,将鼠标移动到“工具”这一

火狐浏览器怎样安装flash插件?我们要如何在火狐浏览器里安装flash插件,具体的方法步骤是什么!我们在使用火狐浏览器观看电影,玩游戏的时候,网页都会提示我们要安装flash插件才能正常使用,那么我们应该如何安装这个插件呢,具体的操作方法是什么,小编下面正整理了火狐浏览器安装flash插件方法步骤,如果你不会操作的话,就跟着我我往下看吧!火狐浏览器怎样安装flash插件1、百度搜索adobeflashplayer官网,点击进入,如下图所示2、进入flash插件安装页面,点击【立即安装】3、、f

edge浏览器怎么启用flash?在使用edge浏览器的时候如果想要启用flash应该怎么操作?使用edge浏览器看电视和玩游戏的时候,都需要用到flash这个功能,小编下面整理了edge浏览器启用flash具体步骤,有需要的小伙伴一起往下看看吧。 启用方法 1、进入浏览器,点击页面上方工具栏右侧的三个点图标。 2、接着在下方给出的选项菜单中选择“设置”。 3、进入新界面后,点击“默认浏览器”选项,然后在右侧中找到“允许在Intern

谷歌浏览器如何安装flash插件?在大部分浏览器中都需要安装flash插件,这个插件支持图片和视频等多媒体的阅读,用户想要在谷歌浏览器里查看图片或者视频就需要安装flash插件,不少用户对这个插件并不了解,具体在谷歌浏览器里如何安装很多人都不知道。接下来小编就给大家带来谷歌浏览器安装flash插件操作步骤,有需要的朋友不妨来看看了解一下。谷歌浏览器安装flash插件操作步骤1、我们在百度搜索框中输入adobeflashplayer官方下载,我们点击可以下载的链接进去(如图所示)。2、我们在点击“

edge浏览器怎么安装flash插件?在用户使用浏览器上网过程中,flash插件发挥着很大的作用,它能够帮助用户加载图片、视频等等的内容,帮助用户更加便利的上网。edge浏览器为用户提供了添加插件的功能,那么用户如何在edge浏览器上面添加flash插件呢?没有操作过的用户也许不懂,那么今天小编就给大家带来了非常详细的微软浏览器安装flash插件技巧,感兴趣的话就来一起学习吧。微软浏览器安装flash插件技巧1、进入免费的微软浏览器,点击页面顶部工具栏中的三个点图标,如下图所示。2、在下方给出的

火狐浏览器没有flash插件怎么办?火狐浏览器具有非常稳定的特性,不少用户喜欢使用这款浏览器办公,我们在浏览器里浏览图片或者视频的时候需要flash插件支持,部分用户在查看图片的时显示没有flash插件,这种情况我们需要在火狐浏览器里安装一个flash插件。接下来小编就给大家带来火狐浏览器解决没有flash插件问题详细教程,感兴趣的朋友快来看看吧。火狐浏览器解决没有flash插件问题详细教程首先,您需要将Firefox浏览器点开,然后在页面的右上角的地方将【扩展】图标按钮点击打开,接着进入到扩展


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3汉化版
中文版,非常好用

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)