IE浏览器下OCX控件的兼容问题(续集)——Javascript代码实现

本文提供了一种JavaScript实现的浏览器类型及版本判断方法,并针对不同浏览器类型提出了OCX使用时的条件判断策略。

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

根据上一篇 http://blog.youkuaiyun.com/yangyuyu77584/article/details/39694387  博文方案,现给Javascript代码实现。

1.浏览器的判断代码。(jQuery新版我还没有使用,不知道是否已经修改了)这里我自己补充一个判断方法,代码如下:

function getBrowserVersion()
{
	var userAgent = navigator.userAgent,   
        rMsie = /(msie\s|trident.*rv:)([\w.]+)/,   
        rFirefox = /(firefox)\/([\w.]+)/,   
        rOpera = /(opera).+version\/([\w.]+)/,   
        rChrome = /(chrome)\/([\w.]+)/,   
        rSafari = /version\/([\w.]+).*(safari)/;  
        var ua = userAgent.toLowerCase();  
        function uaMatch(ua) {  
            var match = rMsie.exec(ua);  
            if (match != null) {  
                return { browser : "IE", version : match[2] || "0" };  
            }  
            var match = rFirefox.exec(ua);  
            if (match != null) {  
                return { browser : match[1] || "", version : match[2] || "0" };  
            }  
            var match = rOpera.exec(ua);  
            if (match != null) {  
                return { browser : match[1] || "", version : match[2] || "0" };  
            }  
            var match = rChrome.exec(ua);  
            if (match != null) { 
			return { browser : match[1] || "", version : match[2] || "0" };  
            }  
            var match = rSafari.exec(ua);  
            if (match != null) {  
                return { browser : match[2] || "", version : match[1] || "0" };  
            }  
            if (match != null) {  
                return { browser : "", version : "0" };  
            }  
        }  
        return uaMatch(userAgent.toLowerCase());          
}
2.JS脚本中要使用OCX时,就去判断浏览器。根据浏览器的不同,大致可以分成三类:

(1)、非IE的浏览器;

(2)、IE8.9的64位浏览器;

(3)、IE浏览器除(IE8.9的64位浏览器)。

判断代码如下:

var browserVer = getBrowserVersion();
var nBrowserVersion = parseInt(browserVer.version,10);
if("IE"!= browserVer.browser)
{
	//你的代码
}
else if(("IE"== browserVer.browser) && 
	((nBrowserVersion == 8) || (nBrowserVersion == 9)) && 
	(window.navigator.platform == "Win64"))	
{
	//你的代码
}
else
{
	//你的代码
}

注:window.navigator.platform

Returns a string representing the platform of the browser.(即返回浏览器平台的字符串)比如“Win32”“Win64”等。

进一步了解这个方法可能对MAC系统有问题(可能)。这里后续我继续研究,会进一步更新。请博友原谅.

注:Mac系统不能安装IE浏览器。还有这里没有考虑 像win2003 sever与win2008 sever等一些服务器系统。这里主要是解决个人电脑个人操作系统。

还有,上面代码首先判断是否是IE浏览器,再次判断浏览器版本号。最后才去判断浏览器的平台。所有这样代码是合理的。如果博友们有更好的版本请评论与指教,共同进步。谢谢

这样的Javascript代码就可以解决OCX上的问题。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值