javascript检测flash插件是否安装

一、用SCRIPT来检测
这种方法是为了摆脱上一种办法的局限,例如DW里面那个叫"Check Plug-in"的behavior
这种方法在有些不能执行SCRIPT的机器上还是用不了,例如MAC上IE4.5之前版本,WIN31上面的IE。
还有某些用户是关闭SCRPIT执行的。

最简单的办法

 代码如下 复制代码

<SCRIPT  LANGUAGE="JavaScript"> 
<!-- 
var  swf  =  new  ActiveXObject('ShockwaveFlash.ShockwaveFlash'); 
(swf)  ?  document.writeln('你已经安装了插件')  :  document.writeln('你没有安装插件'); 
//  --> 
</SCRIPT> 

如果要检测flash版本可

 代码如下 复制代码

〈SCRIPT type=text/vbscript〉〈!--
    //IE
    on error resume next
    set f = CreateObject(“ShockwaveFlash.ShockwaveFlash“)
    if IsObject(f) then
    i_flash = true
    v_flash = hex(f.FlashVersion())
    end if
    // --〉〈/SCRIPT〉

    〈SCRIPT type=text/javascript〉〈!--
    if (i_flash) {
    document.writeln(“你已经安装了Flash插件“)
    if (v_flash) {
    document.writeln(“ - 版本 “ + v_flash);
    }
    } else {
    document.writeln(“你没有安装Flash插件“)
    }
    // --〉
〈/SCRIPT〉

要使自己的Flash能够在每个用户的浏览器上都能正常播放,我们就必须准确的了解用户当前是否已经安装了Flash播放器插件,以及其所安装的插件的版本号。这个检测工作可以通过Javascript来完成。

 代码如下 复制代码

<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>

二、用FLASH来检测
如果用户连SCRPIT都不执行的话,就只能用这招了。这也是MM自己用的方法。
做一个检测的HTML,里面放一个SWF,里面只有一句GetURL("你真正的页面")
同时在HTML的<HEAD>里面放<META HTTP-EQUIV="Refresh" CONTENT="10; URL="没有安装FLASH的页面">
如果在10秒之内SWF没有把你带到真正的页面,检测的HTML就会把你带到没安装的页面

代码

 

 代码如下 复制代码
<!-- 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 -->
时间: 2024-10-02 19:42:16

javascript检测flash插件是否安装的相关文章

javascript检测flash插件是否被禁用的方法_javascript技巧

本文实例讲述了javascript检测flash插件是否被禁用的方法.分享给大家供大家参考,具体如下: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus"> <meta name="Author&

win8.1安装Flash插件提示安装错误怎么办

win8.1安装Flash插件提示安装错误怎么办   具体步骤: 1.首先打开IE,点击"工具"-"关于 Internet Explorer ",查看IE的版本是最新版的; 2.打开"工具"-"查看加载项",点击左侧的"工具栏和扩展",在"显示"下反选择"所有加载项",发现右侧没有"Flash Player"的加载项; 3.打开电脑中的杀软或防火墙

Win8.1安装Flash插件提示安装遇到错误怎么解决

  我们都知道看视频必须的安装Flash插件才可以看视频的,Win8.1播放视频需要Flash Play插件的支持,如果没有安装是看不了视频.但有用户在安装最新版Flash插件时提示安装遇到错误,相信很多用户都有遇到这个情况,那用怎么解决这个问题呢?现在小编就和大家说一下Win8.1安装Flash插件提示安装遇到错误的解决方法. 具体步骤如下: 1.首先打开IE,点击"工具"-"关于 Internet Explorer ",查看IE的版本是最新版的; 2.打开&qu

win8.1安装Flash插件提示安装遇到错误怎么办

  win8.1操作系统播放视都需要有flash play插件的支持,最近有些用户说在win8.1系统中无法播放视频,所以安装最新版Flash插件时提示安装遇到错误:浏览器包含最新版本的内置 Adobe Flash Player,怎么办呢?出现这样的情况说明系统中已经安装了flash play ,是由于ie加载项未开启导致的.下面小编给大家分享下解决方法. 具体步骤: 1.首先打开IE,点击"工具"-"关于 Internet Explorer ",查看IE的版本是最

javascript检测unity webplayer是否安装

 代码如下 复制代码 <script language='VBScript'>     function detectUnityWebPlayerActiveX         on error resume next         dim tControl, res, ua, re, matches, major         res = 0         set tControl = CreateObject("UnityWebPlayer.UnityWebPlayer.1

Ubuntu下的网页flash插件的安装

yelin@yelin-desktop:~$ sudo apt-get install flashplugin-nonfree Password: 正在读取软件包列表... 完成 正在分析软件包的依赖关系树      读取状态信息... 完成            建议安装的软件包: konqueror-nsplugins msttcorefonts ttf-xfree86-nonfree xfs 下列[新]软件包将被安装: flashplugin-nonfree 共升级了 0 个软件包,新安装

判断浏览器是否安装Flash插件及版本

<SCRIPT   LANGUAGE="JavaScript">     <!--     var   swf  =  new   ActiveXObject('ShockwaveFlash.ShockwaveFlash');     (swf)  ?   document.writeln('你已经安装了插件')   :   document.writeln('你没有安装插件');     //   -->     </SCRIPT>  动态加载.

Android WebView播放视频flash(判断是否安装flash插件)

Android WebView播放flash(判断是否安装flash插件)  最近帮一个同学做一个项目,断断续续的一些知识点记录一下.一个页面中有一个WebView,用来播放swf,如果系统中未安装flash插件,必须提示用户到market中安装. 下面做一个demo,效果图如下: 首先布局文件,很简单: [html] view plaincopy <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/andro

JS判断浏览器是否安装flash插件的简单方法_javascript技巧

1. 直接判断是否有flash插件 var myFlash = (function(){ if(typeof window.ActiveXObject != "undefined"){ return new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); }else{ return navigator.plugins['Shockwave Flash']; } })();  chrome: Edge浏览器中取消了win