XMLENCODER

  • XMLENCODER

  • 许万克
    我是许迈克

文章分类

缺省  

最新日志

此功能已被空间主人关闭

最新访客

此功能已被空间主人关闭

友情链接

此功能已被空间主人关闭

统计信息

  • 点击: 386651
    帖子数量: 370
    开辟个人空间: 2008-10-15
    最后更新: 2013-02-20
  •  
  •  
     
     
     
     

问个问题,挑战一下JAVASCRIPT的高手,关于检查浏览器以及插件的版本的问题。(100个花篮恭候第一个通过测试的同)

 
文章内容
[ 2010-01-11 16:07:43 | By: 许万克 ]
 
需要用JAVASCRIPT报一下浏览器的版本,可只考虑IE(6,7,icon_cool.gif 和FIREFOX(2,3),
然后再报一下是否安装了ADOBE ACROBAT 以及版本。

比如: IE 6.0, ACROBAT 9.2
或者: FIREFOX 2.5, ACROBAT 8.0
 
 
QR Code
请用微信 扫一扫 扫描上面的二维码,然后点击页面右上角的 ... 图标,然后点击 发送给朋友分享到朋友圈,谢谢!
分享:
分享到微信

文章评论

许万克
无题
IE: 6,7,8 和 FIREFOX: 2,3

怎么出来个icon_cool.gif?

我在网上东拼西凑了一些CODE, 不怎么WORK WELL, 先不贴出来吧。

2010-01-11 16:09:17 | 引用
无题
似乎很简单。

<html>

<head>

<script type="text/javascript">
function detectBrowser()
{
var browser=navigator.appName
var b_version=navigator.appVersion
var version=parseFloat(b_version)

if ((browser=="Netscape"||browser=="Microsoft Internet Explorer")
&& (version>=4))
{alert("Your browser is good enough!")}
else
{alert("It's time to upgrade your browser!")}
}
</script>

</head>

<body onload="detectBrowser()">
</body>

</html>

2010-01-11 17:05:43 | 引用
quietus
quietus
无题
function AcrobatTest(){
var acrobat=new Object();

// Set some base values
acrobat.installed=false;
acrobat.version='0.0';

if (navigator.plugins && navigator.plugins.length){
for (x=0; x<navigator.plugins.length; x++){
if (navigator.plugins[x].description.indexOf('Adobe Acrobat') != -1){

acrobat.version=parseFloat(navigator.plugins[x].description.split('Version ')[1]);

if (acrobat.version.toString().length == 1) acrobat.version+='.0';

acrobat.installed=true;
break;
}
}
}
else if (window.ActiveXObject){
for (x=2; x<10; x++){
try{
oAcro=eval("new ActiveXObject('PDF.PdfCtrl."+x+"');");
if (oAcro){
acrobat.installed=true;
acrobat.version=x+'.0';

}
}
catch(e) {}
}

try{
oAcro4=new ActiveXObject('PDF.PdfCtrl.1');
if (oAcro4)
{
acrobat.installed=true;
acrobat.version='4.0';
}
}
catch(e) {}

try{
oAcro7=new ActiveXObject('AcroPDF.PDF.1');
if (oAcro7)
{
acrobat.installed=true;
acrobat.version='7.0';
}
}
catch(e) {}
}

acrobat.ver4=(acrobat.installed && parseInt(acrobat.version) >= 4) ? true:false;
acrobat.ver5=(acrobat.installed && parseInt(acrobat.version) >= 5) ? true:false;
acrobat.ver6=(acrobat.installed && parseInt(acrobat.version) >= 6) ? true:false;
acrobat.ver7=(acrobat.installed && parseInt(acrobat.version) >= 7) ? true:false;
//acrobat.ver8=(acrobat.installed && parseInt(acrobat.version) >= icon_cool.gif ? true:false;
//acrobat.ver9=(acrobat.installed && parseInt(acrobat.version) >= 9) ? true:false;

var acrobatVersionElement = document.getElementById("acrobatVersion");

if (acrobat.version == 0.0){
Check_result+="
Adobe Reader is NOT installed.";
}else{
Check_result+="
Adobe Reader version : "+acrobat.version;
}

}

2010-01-11 17:11:15 | 引用
无题
狼狼,自己没测吧?
帮你改了几个地方让你的code可以运行显示结果:
下面不符合要求的地方:
1,没有浏览器的版本号,只是报GOOD ENOUGH
2,FIREFOX中甚至报ADOBE READER not installed!

代码:
<html>

<head>

<script type="text/javascript">
function detectBrowser()
{
var browser=navigator.appName;
var b_version=navigator.appVersion;
var version=parseFloat(b_version);

if ((browser=="Netscape"||browser=="Microsoft Internet Explorer")
&& (version>=4))
{alert("Your browser is good enough!");}
else
{alert("It's time to upgrade your browser!");}
}

</script>

</head>

<body onload="detectBrowser()">
<script type="text/javascript">

   var acrobat=new Object();
   var Check_result = "";
   // Set some base values
   acrobat.installed=false;
   acrobat.version='0.0';

   if (navigator.plugins && navigator.plugins.length)
   {
      for (x=0; x<navigator.plugins.length; x++)
      {
         if (navigator.plugins[x].description.indexOf('Adobe Acrobat') != -1)
         {

            acrobat.version=parseFloat(navigator.plugins[x].description.split('Version ')[1]);

            if (acrobat.version.toString().length == 1) acrobat.version+='.0';

            acrobat.installed=true;
            break;
         }
      }
   }
   else if (window.ActiveXObject)
   {
      for (x=2; x<10; x++)
      {
         try
         {
            oAcro=eval("new ActiveXObject('PDF.PdfCtrl."+x+"');");
            if (oAcro)
            {
               acrobat.installed=true;
               acrobat.version=x+'.0';

            }
         }
         catch(e) {}
      }

      try
      {
         oAcro4=new ActiveXObject('PDF.PdfCtrl.1');
         if (oAcro4)
         {
            acrobat.installed=true;
            acrobat.version='4.0';
         }
      }
      catch(e) {}

      try
      {
         oAcro7=new ActiveXObject('AcroPDF.PDF.1');
         if (oAcro7)
         {
            acrobat.installed=true;
            acrobat.version='7.0';
         }
      }
      catch(e) {}
   }

   acrobat.ver4=(acrobat.installed && parseInt(acrobat.version) >= 4) ? true:false;
   acrobat.ver5=(acrobat.installed && parseInt(acrobat.version) >= 5) ? true:false;
   acrobat.ver6=(acrobat.installed && parseInt(acrobat.version) >= 6) ? true:false;
   acrobat.ver7=(acrobat.installed && parseInt(acrobat.version) >= 7) ? true:false;
   //acrobat.ver8=(acrobat.installed && parseInt(acrobat.version) >= icon_cool.gif ? true:false;
   //acrobat.ver9=(acrobat.installed && parseInt(acrobat.version) >= 9) ? true:false;

   var acrobatVersionElement = document.getElementById("acrobatVersion");

   if (acrobat.version == 0.0)
   {
      Check_result+="Adobe Reader is NOT installed.";
   }
   else
   {
      Check_result+="Adobe Reader version : "+acrobat.version;
   }
   alert(Check_result);

</script>
</body>

</html>

2010-01-11 17:47:16 | 引用
许万克
许万克
无题
还有啊,下面两行的COMMENTS去掉,还是抱ACROBAT 7.0, 版本不对的。

代码:
 //acrobat.ver8=(acrobat.installed && parseInt(acrobat.version) >= 8 ) ? true:false;
   //acrobat.ver9=(acrobat.installed && parseInt(acrobat.version) >= 9) ? true:false;

2010-01-11 18:12:28 | 引用
无题
XMLENCODER 写道:
狼狼,自己没测吧?
帮你改了几个地方让你的code可以运行显示结果:
下面不符合要求的地方:
1,没有浏览器的版本号,只是报GOOD ENOUGH
2,FIREFOX中甚至报ADOBE READER not installed!


没测, 不懂javascript。 icon_smile.gif

打GOOD ENOUGH跟打版本号难度一样吧。 看了一下, 第二个code可能有问题, 虽然不懂javascript。 icon_smile.gif

2010-01-11 18:13:51 | 引用
quietus
许万克
无题
gettext 写道:
XMLENCODER 写道:
狼狼,自己没测吧?
帮你改了几个地方让你的code可以运行显示结果:
下面不符合要求的地方:
1,没有浏览器的版本号,只是报GOOD ENOUGH
2,FIREFOX中甚至报ADOBE READER not installed!


没测, 不懂javascript。 icon_smile.gif

打GOOD ENOUGH跟打版本号难度一样吧。 看了一下, 第二个code可能有问题, 虽然不懂javascript。 icon_smile.gif


不一样。
你看看你的CODE:
代码:
if ((browser=="Netscape"||browser=="Microsoft Internet Explorer")
&& (version>=4))
{alert("Your browser is good enough!");}

好像就没考虑FIREFOX的情况吧。另外,IE6是跟其他版本的浏览器有不少区别的,很多BUG都是发生在IE6身上。
这里的要求就是,能正确显示浏览器和插件的版本号就行,你那个ACROBAT的插件版本总是不对。

你小子不懂JAVASCRIPT 啊,呵呵,能弄成这样不错了,赞一个!

2010-01-11 18:21:45 | 引用

发表评论

加西网为北美中文网传媒集团旗下网站