欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

判斷客戶端瀏覽器是否安裝了Flash插件的多種方法

 更新時(shí)間:2010年08月11日 22:13:12   作者:  
各種方法判斷客戶端瀏覽器是否安裝了Flash插件,對(duì)于必須要支持flash才能瀏覽的頁面來說,提前做下說明,用戶體驗(yàn)會(huì)更好。
常用的方法:
復(fù)制代碼 代碼如下:

<SCRIPT LANGUAGE="JavaScript">
<!--
var swf = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
(swf) ? document.writeln('你已經(jīng)安裝了插件') : document.writeln('你沒有安裝插件');
// -->
</SCRIPT>
[code]
動(dòng)態(tài)加載.
[code]
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="mFlash"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
WIDTH="120" HEIGHT="60" id="468x60" ALIGN="" VIEWASTEXT>
<PARAM NAME=quality VALUE=high>
</OBJECT>
<input type=button onclick="addFlash()" value="Add">
<input type=button onclick="mFlash.Stop()" value="Stop">
<input type=button onclick="mFlash.Play()" value="Play">
<script>
function addFlash() {
mFlash.movie="http://www.dbjr.com.cn/images/ad/WIBU.swf";
mFlash.Play();
}
</script>

有很多檢測(cè)PLUGIN的方法,因?yàn)椴荒苤挥靡粋€(gè)方法就解決了這個(gè)問題,所以才有了這么多的方法
一、內(nèi)置的檢測(cè)
NN和MAC上的IE不能使用以下的檢測(cè),只有WIN上的IE可以
1、即需即裝
在IE的工具-Internet選項(xiàng)-高級(jí)-瀏覽里面的即需即裝選項(xiàng)如果生效了,當(dāng)瀏覽器需要,就會(huì)從MS的網(wǎng)站下載Flash Player ActiveX control
如果沒生效,你沒安裝PLUGIN又直接進(jìn)入了網(wǎng)頁,就會(huì)看到一個(gè)裂開的方塊那樣的小ICON,點(diǎn)一下也可以帶你去安裝
2、HTML里面的OBJECT標(biāo)簽里面的classid 和 codebase屬性
classid是ActiveX control的標(biāo)識(shí),例如FLASH PLAYER的就是:
clsid:D27CDB6E-AE6D-11cf-96B8-444553540000
codebase則是下載插件的地址,例如FLASH4的(如果瀏覽器檢查到version后面的數(shù)字低于你已有版本,就不會(huì)安裝):
http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0
這些HTML標(biāo)簽當(dāng)你在FLASH中PUBLIC或者DW中插入時(shí)都會(huì)自動(dòng)加入
瀏覽器執(zhí)行到這些標(biāo)簽就會(huì)進(jìn)行檢測(cè)了
二、用SCRIPT來檢測(cè)
這種方法是為了擺脫上一種辦法的局限,例如DW里面那個(gè)叫"Check Plug-in"的behavior
這種方法在有些不能執(zhí)行SCRIPT的機(jī)器上還是用不了,例如MAC上IE4.5之前版本,WIN31上面的IE。
還有某些用戶是關(guān)閉SCRPIT執(zhí)行的。
三、用FLASH來檢測(cè)
如果用戶連SCRPIT都不執(zhí)行的話,就只能用這招了。這也是MM自己用的方法。
做一個(gè)檢測(cè)的HTML,里面放一個(gè)SWF,里面只有一句GetURL("你真正的頁面")
同時(shí)在HTML的<HEAD>里面放<META HTTP-EQUIV="Refresh" CONTENT="10; URL="沒有安裝FLASH的頁面">
如果在10秒之內(nèi)SWF沒有把你帶到真正的頁面,檢測(cè)的HTML就會(huì)把你帶到?jīng)]安裝的頁面
四、最后一個(gè)辦法,讓用戶自己選擇
這也是最常見的了,很多網(wǎng)站都做一個(gè)入口的頁面,下面就有安裝PLUGIN的小ICON
復(fù)制代碼 代碼如下:

<!-- start VBSCRIPT plugin detection-->
<SCRIPT LANGUAGE=VBScript>
Private i, x, MM_FlashControlVersion
On Error Resume Next
x = null
MM_FlashControlVersion = 0
var Flashmode
FlashMode = False
For i = 5 To 1 Step -1
Set x = CreateObject("ShockwaveFlash.ShockwaveFlash." & i)
MM_FlashControlInstalled = IsObject(x)
If MM_FlashControlInstalled Then
MM_FlashControlVersion = CStr(i)
Exit For
End If
Next
FlashMode = (MM_FlashControlVersion >= 5)
If FlashMode = True Then
document.write "有FLASH的HTML"
Else
document.write "無FLASH的HTML"
End If
</SCRIPT><!-- end VBSCRIPT PLUGIN DETECTION -->

<script type="text/javascript" language="JavaScript">
<!-- start JS detection
FlashMode = 0;
if (navigator.plugins && navigator.plugins.length > 0)
{
if (navigator.plugins["Shockwave Flash"])
{
var plugin_version = 0;
var words = navigator.plugins["Shockwave Flash"].description.split(" ");
for (var i = 0; i < words.length; ++i)
{
if (isNaN(parseInt(words[i])))
continue;
plugin_version = words[i];
}
if (plugin_version >= 5)
{
var plugin = navigator.plugins["Shockwave Flash"];
var numTypes = plugin.length;
for (j = 0; j < numTypes; j++)
{
mimetype = plugin[j];
if (mimetype)
{
if (mimetype.enabledPlugin && (mimetype.suffixes.indexOf("swf") != -1))
FlashMode = 1;
// Mac wierdness
if (navigator.mimeTypes["application/x-shockwave-flash"] == null)
FlashMode = 0;
}
}
}
}
}
if (FlashMode == 1)
{
document.write('有FLASH的HTML');}
else {
document.write('無FLASH的HTML'); }
// end JS detection -->

通過以下的Javascript腳本,可以檢測(cè)當(dāng)前瀏覽器是否安裝Flash插件以及插件的版本是否滿足要求。
復(fù)制代碼 代碼如下:

<SCRIPT LANGUAGE="JavaScript1.1">
<!--
// U can change this number to check specific version of flash
var MM_contentVersion = 6;
var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]) ?
navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0;
if ( plugin ) {
var words = navigator.plugins["Shockwave Flash"].description.split(" ");
for (var i = 0; i < words.length; ++i){
if (isNaN(parseInt(words[i])))
continue;
var MM_PluginVersion = words[i];
}
var MM_FlashCanPlay = MM_PluginVersion >= MM_contentVersion;
}
else if( navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0 &&
(navigator.appVersion.indexOf("Win") != -1) ) {
//FS hide this from IE4.5 Mac by splitting the tag
document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n');
document.write('on error resume next \n');
document.write('MM_FlashCanPlay = ( IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & MM_contentVersion)))\n');
document.write('</SCR' + 'IPT\> \n');
}
if ( MM_FlashCanPlay ) {
alert("Flash Detection OK. U can play.");
}
else{
alert("Flash Detection Failed. Need Download specific version.");
}
//-->
</SCRIPT>

<script>
//自己總結(jié)的
//IE中判斷是否安裝插件
var swf;
function IE_Flash()
{
try
{
var swf=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
alert("已安裝插件");
}
catch(e)
{
alert("沒有安裝插件");
}
}
//FireFox,Chrome中判斷是否安裝插件
function FF_or_Chrome_Flash()
{
var swf=navigator.plugins["Shockwave Flash"];
(swf)?alert("已安裝插件"):alert("沒有安裝插件");
}
</script>

相關(guān)文章

最新評(píng)論