//IE下获取flash版本号,如果flash插件不存在则返回-1
function ControlVersion()
{
var version;
var axo;
var e;
try {
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
version = axo.GetVariable("$version");
} catch (e) {
}
if (!version)
{
try {
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
version = "WIN 6,0,21,0";
axo.;
version = axo.GetVariable("$version");
} catch (e) {
}
}
if (!version)
{
try {
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
version = axo.GetVariable("$version");
} catch (e) {
}
}
if (!version)
{
try {
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
version = "WIN 3,0,18,0";
} catch (e) {
}
}
if (!version)
{
try {
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
version = "WIN 2,0,0,11";
} catch (e) {
version = -1;
}
}
var verArr = version.toString().split(',');
var str = '';
for(var i=0,l=verArr.length;i<l;i++){
if(verArr[i].indexOf('WIN') != -1){
str += verArr[i].substring(3);
str += '.';
}else if(i== (l-1)){
str += verArr[i];
}else{
str += verArr[i];
str += '.';
}
}
return (str);
}
//判断
function flashChecker()
{
var hasFlash=0; //是否安装了flash
var flashVersion=0; //flash版本
var isIE=0; //是否IE浏览器
if(isIE)
{
var swf = ControlVersion();
if(swf != -1)
{
hasFlash=1;
flashVersion = swf;
}
}else{
if (navigator.plugins && navigator.plugins.length > 0)
{
if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"])
{
hasFlash=1;
var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
var swf = navigator.plugins["Shockwave Flash" + swVer2].description;
//var swf = navigator.plugins["Shockwave Flash"];
if (swf)
{
var words = swf.split(" ");
for (var i = 0; i < words.length; ++i)
{
if (isNaN(parseInt(words[i]))) continue;
flashVersion = parseInt(words[i]);
}
}
}
}
}
return {f:hasFlash,v:flashVersion};
}
//以下是简化版本
//检测flash是否安装,以及版本号
function flashChecker(){
var hasFlash=false; //是否安装了flash
var flashVersion=0; //flash版本
var isIE=0; //是否IE浏览器
if(isIE){
try{
var swf = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
if(swf) {
hasFlash=true;
VSwf=swf.GetVariable("$version");
flashVersion=parseInt(VSwf.split(" ")[1].split(",")[0]);
}
}
catch(e){
}
}else{
if (navigator.plugins && navigator.plugins.length > 0)
{
var swf=navigator.plugins["Shockwave Flash"];
if (swf)
{
hasFlash=true;
var words = swf.description.split(" ");
for (var i = 0; i < words.length; ++i)
{
if (isNaN(parseInt(words[i]))) continue;
flashVersion = parseInt(words[i]);
}
}
}
}
return {hasFlash:hasFlash,flashVersion:flashVersion};
}
分享到:
相关推荐
差分法是最简单的运动检测方法,通过计算连续两帧间的像素差值来确定运动区域。在Flash中,可以使用BitmapData对象的getPixels()和setPixels()方法获取和修改像素数据,然后比较两帧的差异。 四、光流法 光流法更...
在Flash开发中,碰撞检测是实现游戏或者交互式应用中不可或缺的一部分。`hitTest`方法在ActionScript 3(AS3)中扮演着至关重要的角色,用于检测两个显示对象是否在视觉上重叠。本篇文章将深入探讨`hitTest`方法的...
附件提供了两个JavaScript 方法,只要复制到你的网页中,直接运行就可以检测客户端是否安装了flash插件 各自反馈结果请看预览详细页 使用方法: 1、将其中一个方法复制到你的网页中 2、直接调用运行即可
以上就是Flash小球碰撞检测的基本概念和实现方法。通过理解这些知识点,开发者可以创建出包含动态交互和物理行为的Flash应用程序,比如有趣的小球弹射游戏。在压缩包中提供的"小球碰撞检测2.fla"和"小球碰撞检测.fla...
在Flash编程中,碰撞检测是一项基础且重要的技术,主要用于判断两个或多个图形对象是否发生重叠,这在游戏开发、...通过理解基本概念,掌握不同检测方法,并结合实际案例进行学习,可以有效提升你在Flash编程中的能力。
本资料包"参考资料-基于单片机的Flash存储器坏块自动检测.zip"聚焦于如何利用单片机对Flash存储器进行坏块自动检测,这对于确保数据安全和设备稳定运行至关重要。 Flash存储器是电子设备中常用的一种非易失性存储...
标题中的“u盘检测工具+FLASH查询器+扩容检测”是指一套用于检查USB闪存盘(U盘)性能、真实容量以及识别其内部芯片信息的软件组合。这些工具旨在帮助用户确保U盘的质量,防止购买到扩容盘,即实际容量小于标称容量...
为了优化性能,开发者通常会在不影响游戏体验的前提下尽量减少碰撞检测的频率,比如只在对象移动或旋转时进行检测,或者使用更粗略的检测方法来初步判断是否有可能发生碰撞,然后再对疑似碰撞的区域进行像素级检测。...
标题中的"符合web标准的flash调用方法",指的是通过JavaScript库来实现对Flash的跨浏览器兼容性处理,使得Flash内容能在不同浏览器环境下正常工作。其中,`swfobject.js`是一个广泛使用的开源JavaScript库,专门用于...
虽然这不是直接检测文件存在的方法,但它可以用来通过一个Flash应用程序查询另一个已知有文件信息的Flash应用程序,间接实现检测功能。例如,你可以创建一个Flash应用程序作为文件服务,其他应用程序可以通过...
### 一种应用于Flash智能分析检测的检测方法及系统的详尽解析 #### 技术领域 本文档介绍了一种专门用于Flash存储设备智能分析检测的新颖技术。这项技术着重于提高NAND Flash存储器的分析效率与准确性,进而提升其...
总结来说,本文提出的基于STM32的Flash存储器坏块自动检测方法,对于提高存储器检测效率、确保数据存储的可靠性和完整性具有重要意义。这项技术的推广和应用,将进一步推动NandFlash存储器在电子设备中的使用和发展...
【基于机器学习的网络异常流量检测方法】 网络异常流量检测是网络安全领域的重要研究课题,它涉及到互联网技术的快速发展和日益复杂的网络环境。异常流量数据,包括Alpha Anomaly、DDoS、Port Scan等不同类型的异常...
这段代码首先尝试创建一个ActiveXObject,这是在Internet Explorer中检测Flash的常见方法。如果创建成功,说明浏览器支持Flash。对于非IE浏览器,代码会检查navigator.mimeTypes对象,如果存在'application/x-...
Flash提供了多种碰撞检测方法,如矩形碰撞、像素级碰撞等。矩形碰撞简单快速,适用于大部分情况;而像素级碰撞则更为精确,但计算量较大。源代码中可能会包含自定义的碰撞检测函数,用于检测角色与其他物体(如平台...
这段代码添加了一个事件监听器,当检测到右键点击事件(RIGHT_CLICK)时,会调用`rightClickHandler`函数。`event.preventDefault()`方法阻止了默认的右键菜单弹出。 然而,仅靠Flash本身可能无法完全禁用浏览器中...
在Flash AS3编程中,位图的碰撞检测是一项重要的技术,尤其在开发游戏或交互式应用时不可或缺。本文将深入探讨如何实现基于位图的碰撞检测,并通过一个实例来阐述其工作原理。 位图碰撞检测的基本思想是利用位图...
由于Flash存储器在多次擦写后可能出现位错误,ECC能检测和纠正这些错误,保证数据的完整性,同时也能一定程度上延缓因错误积累导致的存储器失效。 最后,对于NOR Flash,可以采用代码分割和执行策略。将经常变动的...
对于内存和Flash的使用情况查询,有多种方法可以实现,但它们各有优缺点。本文档介绍了在不依赖于proc文件系统的情况下,查询系统当前内存和Flash使用情况的两种方法。 首先,了解Linux的/proc文件系统是非常必要的...