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