如何同时支持32位和64位组件自动安装

weboffice论坛

ActiveX可以通过浏览器自动从服务器安装到客户端,但是IE目前有32位版本和64位版本,对应的ActiveX也分为32位版本和64位版本;由于是两个版本的两个不同的ocx或者dll,如何同一套代码实现自动识别浏览器安装对应的版本?
因为版本升级需要进行修改代码中的版本号,所以我们从不把自动安装组件的代码直接写到前台页面中,而是写一个公用的js文件“Loadweboffice.js”,所有需要使用组件的页面直接引用即可。更新新版本时也只需要修改这一个js即可,减少以后的维护量和出错机会。

普通的Loadweboffice.js代码如下:

      var s = "";
      s = "<OBJECT id=WebOffice1 align=‘middle‘ style=‘LEFT: 0px; WIDTH: 100%; TOP: 0px; HEIGHT: 100%‘"
      + "classid=clsid:E77E049B-23FC-4DB8-B756-60529A35FAD5";
      +" codebase=‘./weboffice.cab#Version=7,0,0,5‘>"
      + "<PARAM NAME=‘_Version‘ VALUE=‘65536‘>"
      + "<PARAM NAME=‘_ExtentX‘ VALUE=‘17410‘>"
      + "<PARAM NAME=‘_ExtentY‘ VALUE=‘10874‘>"
      + "<PARAM NAME=‘_StockProps‘ VALUE=‘0‘>"
      + "</OBJECT>";
      document.write(s)

js中有可以对浏览器位数判断的方法:

window.navigator.platform

他的返回值位:Win32或Win64

我们可以根据这一返回值让浏览器选择自动加载服务器目录下对应的ActiveX版本,做到自动识别32和64位。

修改后Loadweboffice.js代码如下:

      var s = "";
      s = "<OBJECT id=WebOffice1 align=‘middle‘ style=‘LEFT: 0px; WIDTH: 100%; TOP: 0px; HEIGHT: 100%‘"
      + "classid=clsid:E77E049B-23FC-4DB8-B756-60529A35FAD5";
      var iev=window.navigator.platform;
      if(iev=="Win32"){
         +" codebase=‘./weboffice-x32.cab#Version=7,0,0,5‘>"
      }else{
         +" codebase=‘./weboffice-x64.cab#Version=7,0,0,5‘>"
      }
      + "<PARAM NAME=‘_Version‘ VALUE=‘65536‘>"
      + "<PARAM NAME=‘_ExtentX‘ VALUE=‘17410‘>"
      + "<PARAM NAME=‘_ExtentY‘ VALUE=‘10874‘>"
      + "<PARAM NAME=‘_StockProps‘ VALUE=‘0‘>"
      + "</OBJECT>";
      document.write(s)

注:自动安装仅限IE浏览器,目前其他火狐,谷歌等浏览器还没有找到自动安装的方法;

时间: 2024-10-11 04:48:27

如何同时支持32位和64位组件自动安装的相关文章

iOS 32位、 64位系统兼容性设置-Xcode创建支持IOS4.3以上版本的应用的方法

方法一: 如果是Xcode 5的话步骤为 点击项目名称->Build Settings->搜索 Architectures 这个里面的原始的值是Standard architectures(armv7,armv7s,arm64) 点击这个值,在下拉列表框中选择 Standard architectures(armv7,armv7s) ,然后保存项目,转到 General里面去就可以看到项目的Target选项里面会从4.3到7.0都有. 如果是Xcode 5.1的话步骤为 点击项目名称->

驱动级多开工具,支持32位和64位

标题:[原创]驱动级多开工具,支持32位和64位 作者:绿林科技 时间:2015-5-16 链接:http://blog.csdn.net/o6108/article/details/47790019 作者QQ:1473656864 技术交流群1:177822108 技术交流群2:177822398 通用驱动级多开器,可多开市面上的90%的程序. PS:本来想弄个收费版本的,后来想了想,决定弄成免费.店铺为更新软件版本用的. 软件的About页面有我的QQ和Q群号,请大家把使用过程中遇到的BUG

CentOS 5 上使用yum同时安装32位和64位包的解决方法

在centos上使用yum在线安装软件包的时候,有时候会同时安装32位和64位的包.并且在update的时候也会更新双份. 其实让yum只安装64位的包,只要在 /etc/yum.conf 中加个 exclude 选项: [main] cachedir=/var/cache/yum keepcache=0 plugins=1 ...... exclude=*.i?86 exclude 选项支持正则表达式,*.i?86可以用来过滤掉i386,i686等32bit包. 如果要删除已经安装的32bit

iOS-程序发布-32位和64位系统的兼容

在苹果推出iPhone5S时,64位的应用就走到了眼前.当时就看见苹果官方资料宣布iOS7.x的SDK支持了64位的应用,而且内置的应用都已经是64位. 我记得自己刚刚接触电脑时还有16位的系统,指针的寻址范围还是16位的.当年用TurboC时,还要根据应用的大小选择是tiny模式还是其他.后来很长一段时间使用32位的模型编程,4G是牢牢记住的一个边界条件.而现在,64位走到了眼前. 就如同16位转向32位一样,硬件肯定是最先推出的,SDK也会跟进,然后各种第三方的应用才会逐步跟进,这个过程一般

iis6.0 32为和64位的切换

简介 更多信息 ASP.NET 1.1(32 位版) ASP.NET 2.0(32 位版) ASP.NET 2.0(64 位版) 基于 x64 版本 Microsoft Windows 的技术支持 参考 属性 提供反馈 简介 本文讨论如何在 64 位版本的 Microsoft Windows 上,在 32 位版本的 Microsoft ASP.NET 1.1 和 32 位及 64 位版本的 ASP.NET 2.0 之间切换. 当您同时安装了这两个版本的 ASP.NET 时,如果没有使这两个 AS

Win7系统32位和64位有什么区别?

32位与64位系统的区别与联系,已经是一个老生常谈的问题了,下面我深入的给同学们介绍下Win7系统32位和64位的区别与联系,大家不太懂的地方可以问度娘.另外还有一部分朋友会问XP或者Win8系统32位与64位的区别,其实跟Win7都是一样的. Win7系统32位和64位的区别 对于目前来说,绝大多数软件以32位开发为主,当然也开始有越来越多应用采用64位设计,对于一般用户而言,不管是32位还是64位系统,其实使用上差别基本感受不到,因此一般我们无需纠结于到底是选择32位还是64位Win7系统.

Adobe Photoshop CC 14.0简体中文特别版32位和64位下载

原文地址:http://brushes8.com/47555.html 什么是Adobe Photoshop CC 14.0 继去年Adobe推出Photoshop CS6版本后,Adobe又在MAX大会上推出了最新版本的Photoshop CC (Creative Cloud).在主题演讲中,Adobe宣布了Photoshop CC (Creative Cloud)的几项新功能,包括:相机防抖动功能.Camera RAW功能改进.图像提升采样.属性面板改进.Behance集成.同步设置以及其他

Linux系统查看系统是32位还是64位方法总结(转)

总结.归纳查看Linux系统是32位还是64位的一些方法,很多内容来自网上网友的博客.本篇只是整理.梳理这方面的知识,方便自己忘记的时候随时查看. 方法1:getconf LONG_BIT 查看 如下例子所示: 32位Linux系统显示32, 64位Linux系统显示64.最简单.快捷的方法. [[email protected] ~]# getconf LONG_BIT 32 [[email protected] ~]# getconf LONG_BIT 64 方法2:uname命令查看 如下

hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档

相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclipse-plugin-2.5.0插件下载hadoop2.5.1汇总:最新编译 32位.64位安装.源码包.API下载及新特性等 新手指导:hadoop官网介绍及如何下载hadoop(2.4)各个版本与查看hadoop API介绍 从零教你在Linux环境下(ubuntu 12.04)如何编译hadoo

Linux判断CPU是32位还是64位,判断系统是32位还是64位

from:http://www.ipcpu.com/2010/08/linux-cpu-32-64/ 本文仅限于服务器CPU和Linux系统讨论,与台式电脑.笔记本无关. 32位.64位不能乱装,64的能装32位的,因为64位的CPU可以兼容32位,32位的装不了64位的.最近部署了MongoDB,系统是32位的提示会有最大文件2G的限制.还有最常见的问题32位系统不支持4G以上内存,即使打PAE效率也受影响. 1.判断CPU是32位还是64位 这个问题比较有意思,网上给出的办法都是判断了系统的