学习笔记——关于ActiveX和插件

Firefox中添加插件
支持使用HTML的标准<object />元素在页面中嵌入插件,方式类似于IE。见后面。
使用非标准的<embed />元素。
举例:
<embed id="FlashPlugIn1"
src="topmenu.swf"
border=0
height=100
width=500
quality=high
type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"/>
<!--
上述属性解释:
quality用于确定Flash动画的画面质量
type属性用于指定浏览器使用什么插件来打开文件
pluginspage属性设置为指向插件创建者的页面的URL。如果用户计算机没有安装该插件,
网页就显示该指定的URL链接,用户就可以点击该链接加载插件
-->
JS中的navigator对象有一个plugins属性(注意,IE浏览器有一个navigator.plugins集合但是总是空),它是一个Plugin对象的集合,每个Plugin对象都表示浏览器安装
的一个插件。每个Plugin对象有4个属性:description、filename、length、name
例如:
Flash的name属性是Shockwave Flash,filename和description属性的含义非常明确、length属性表示插件支持的MIME类型数值
下面的JS代码可以重定向浏览器未安装所需插件的用户:
if(navigator.plugins["Shockwave Flash"])//若没有找到则返回undefined,在JS中也即被视为false
window.location.replace("my_flash_enabled_page.htm");
else
window.location.replace("my_no_flash_page.htm");




IE中检查和嵌入ActiveX控件
要在IE浏览器的页面中添加ActiveX控件,需要使用<object />元素。
实例:
<object classid="clid:D27CDB6E-AE6D-11CF-96B8-444553540000"
codebase="http://fpdownload.macromedia.com/get/shockwave/cabs/flash/swflash.cab"
id="flashPlayer1"
width="500"
height="100">
<param name="src" value="myFlashMovie.swf">
<param name="quality" value="height">
</object>
<!--
classid属性是ActiveX控件的创建者字编译时为控件分配的唯一ID
codebase属性是用于找到ActiveX控件的URL,可从此处下载
-->


使用插件和ActiveX控件
<html>
<head>
	<script type="text/javascript">
		function buttonPlay_onclick()
		{
			document.audioPlayer.Play();
		}
		function buttonStop_onclick()
		{
			document.audioPlayer.Stop();
		}
		function window_onload()
		{
			var plugInInstalled=false;
			if(!window.ActiveXObject)
			{
				var pluginsLength=navigator.plugins.length;
				for(var i=0;i<pluginsLength;i++)
				{
					var pluginName=navigator.plugins[i].name.toLowerCase();
					if(pluginName.indexOf("quicktime")>-1)
					{
						plugInInstalled=true;
						break;
					}
				}
			}
			else
			{
				if(document.audioPlayer.readyState==4)plugInInstalled=true;
			}
			if(!plugInInstalled)
			{
				document.forms[0].buttonPlay.disabled=true;
				document.forms[0].buttonStop.disabled=true;
				alert("You need Quicktime to play the audio file!");
			}
		}
		οnlοad=window_onload();
	</script>
</head>
<body>
	<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"
			codebase="http://www.apple.com/qtactivex/qtplugin.cab"
			id="audioPlayer" width="0" height="0">
			<param name="src" value="sound1.mp3"/>


				<embed height="0" width="0" type="audio/mpeg" src="sound1.mp3"
						pluginspage="www.apple.com/quicktime/download"
						enablejavascript="true" name="audioPlayer"/>
	</object>
</body>
</html>



首先要注意,用于非IE浏览器的<embed>元素时<object>元素的一个子元素。Firefox、Opera、Safari、
Chrome将忽略<object>元素,仅仅显示由<embed>元素定义的插件。同时,IE将忽略<object>中的<embed>
元素,尽管IE支持<embed>也是如此。但是注意不能吧<embed>放在外层,否则IE将会识别出两个
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值