检测浏览器是否安装flash,兼容各浏览器谷歌,火狐,ie各个版本包括ie8以下

本文探讨了使用ZeroClipboard.swf和jquery.zclip.min.js实现跨浏览器复制粘贴功能时遇到的问题,尤其是在火狐和IE浏览器上的挑战。文中详细介绍了如何判断浏览器是否安装了Flash插件,并提供了在未安装Flash时的替代方案,包括利用IE原生的复制粘贴功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 问题描述:项目使用了ZeroClipboard.swf和jquery.zclip.min.js进行复制粘贴板

    // 复制粘贴
    $(element).zclip({
	  	path:'static/js/plugins/copy/ZeroClipboard.swf',
	  	copy: function(){
	  		return yourData
	  	},
	  	beforeCopy:function(){
	  		 //some code
	  		 if(!yourData){
	  		 	alert('无内容可粘贴')
	  		 }
	  	},
	  	afterCopy:function(){
	   		alert('复制成功');
	  	}
	});

然而遇到了火狐浏览器和ie浏览器不能复制的情况,谷歌上正常,度娘之后才知道,谷歌内置了flash插件,但是其他浏览器没有(作为程序员,深爱谷歌的原因之一),于是百度了判断浏览器是否安装flash的方法,但是也是一堆坑,经过细化之后,遇到的问题都通过注释写出来了,放心去用吧

 // 针对浏览器未安装flash的提示
    $('#zclip-ZeroClipboardMovie_1').on('click',function(){
        var hasFlash = false;
        try {
            hasFlash = Boolean(new ActiveXObject('ShockwaveFlash.ShockwaveFlash')); //先判断是否有flash插件
            if (window.clipboardData) {//如果是IE浏览器,直接用ie原生的复制粘贴功能
                 window.clipboardData.setData("Text",copyFilterNum);//设置数据
                 alert("复制成功");
            }
        } catch(exception) {    //没有flash的处理
            hasFlash = ('undefined' != typeof navigator.mimeTypes['application/x-shockwave-flash']);
            if(confirm("检测到浏览器未安装flash,无法复制,现在安装?")) {
                window.location.href = "http://get.adobe.com/cn/flashplayer/";
            }
        }
    })

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值