首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

网页js判断是不是有安装c/s应用程序

2012-12-23 
网页js判断是否有安装c/s应用程序一,由于公司为了安全性,要求把登录页移到c/s界面去登录,由c/s负责硬件验

网页js判断是否有安装c/s应用程序

一,由于公司为了安全性,要求把登录页移到c/s界面去登录,由c/s负责硬件验证,并打开主页。但是公司里面又有加盟商,这些用户不用经过硬件验证可以直接进入主页。

由上问题引申出,要去判断该客户端是否有安装该c/s程序,window.location.href打开程序,没有的话,直接进入主页

?

1,当你用window.location.href去打开注册的应用程序时,如果有的话,他会去打开,没有的话,try/catch也捕获不到异常,而停止执行。

2,所以查看了淘宝中阿里旺旺的实现,当本机有安装阿里旺旺时,会打开阿里旺旺的应用程序,没有的话,就会去打开网页版阿里旺旺。可查看webww-min.js

?

_checkWangWangInstalled : function() {var J = false, H = k.unparam(o.get(h)), L = (navigator.platform.indexOf("Mac") > -1) ? true : false;if (!L) {if (H.c == 1) {J = true;G = 1}if (!J && t.ie) {J = this._checkWangWangVersion()} else {if (t.firefox || t.chrome) {var I = navigator.mimeTypes["application/ww-plugin"];if (I) {var K = F.createElement("embed");K.setAttribute("type", "application/ww-plugin");k.DOM.css(K, "visibility", "hidden");k.DOM.css(K, "width", 0);k.DOM.css(K, "height", 0);KISSY.ready(function(M) {F.body.appendChild(K);numberify = function(N) {var O = 0;return parseFloat(N.replace(/\./g,function() {return (O++ === 0)? ".": ""}))};if (numberify(K.NPWWVersion()) >= 1.003) {J = true} else {J = false}if (K.tagName.toLowerCase() == "embed") {K.parentNode.removeChild(K)}H.c = 0;o.set(h, M.param(H), 365, b, "/")})}}}} else {if (t.firefox || t.chrome || t.opera || t.safari) {var I = navigator.mimeTypes["application/ww-plugin"];if (I) {var K = F.createElement("embed");K.setAttribute("type", "application/ww-plugin");k.DOM.css(K, "visibility", "hidden");k.DOM.css(K, "width", 0);k.DOM.css(K, "height", 0);F.body.appendChild(K);if (K.isMacWWInstalled()) {J = true}K.parentNode.removeChild(K);H.c = 0;o.set(h, k.param(H), 365, b, "/")}}}if (J) {H.c = 1;o.set(h, k.param(H), 365, b, "/")}if (location.href.indexOf("topen") > -1) {J = false}return J},_checkWangWangVersion : function() {var J, I = true, H = k.unparam(o.get(h));try {J = new ActiveXObject("aliimx.wangwangx")} catch (K) {try {J = new ActiveXObject("WangWangX.WangWangObj");w = 5} catch (K) {if (t.ie) {H.c = 0;I = false;G = 0;o.set(h, k.param(H), 365, b, "/")}}} finally {J = null}return I},

?由上可以看出,他是对ie(Activex)与firefox/chrome(在plugins下放入一个插件,可用navigate读到)分别开发了插件,然后进行判断,故依照了他进行了两个插件的开发判断。

?

?

?

?

?

1 楼 walkingp 2012-04-28   请问你的插件dll是怎么开发的呢?有参考资料吗?

热点排行