发布网友 发布时间:2022-04-23 19:05
共2个回答
热心网友 时间:2023-10-14 04:16
如何在浏览器中打开IM并执行相应操作?下面以旺旺为例说明,对于QQ等原理一致。
1. 浏览器中如何判断旺旺是否已经安装,
过程如下:
(1) 打开淘宝任意店铺页面,查看源码,在亮灯旺旺图标处有如下代码:
[html] view plain copy<a href="http://amos.alicdn.com/getcid.aw?v=3&uid=%B5%D1%C9%AF%C6%EC%BD%A2%B5%EA&site=cntaobao&groupid=416517&s=1&charset=gbk" target="_blank"> <span style="white-space:pre"> </span><img border="0" alt="给我发消息" src="http://amos.alicdn.com/grponline.aw?v=3&uid=%B5%D1%C9%AF%C6%EC%BD%A2%B5%EA&site=cntaobao&gids=416517&s=1"> </a>
img是旺旺图标,重点是href的内容。查看href链接的源码,如下:
从源码可知这段代码做了这几件事:首先调用sendClientMsg函数,等待1秒钟,打开一个空白窗口,然后关闭之。核心是sendClientMsg函数。它位于website.js中。查看website.js的源码。改源码被混淆压缩了,为了便于查看,找个在线js格式化工具将代码重新格式化一下。这里使用了“站长工具”提供的在线js格式化工具
有这样一段函数,它首先创建一个aliimx的activeX对象,如果创建成功则说明旺旺被安装了,否则根据站点来源(淘宝中国站、阿里中国站、雅虎中国站)分别判断是否安装了其它几个版本的旺旺。源码如下:
[javascript] view plain copyfunction isInstalledClient(C) { try { var B = new ActiveXObject("aliimx.wangwangx"); if (B != null) { return 1 } } catch(D) {} var A = getSite(C); if (A == "cntaobao") { if (newCheckWangWangInstalled() != DEFAULT_VERSION) { return 1 } } else { if (A == "cnalichn") { if (newCheckAlitalkInstalled() != DEFAULT_VERSION) { return 1 } } else { if (A == "chnyahoo") { if (newCheckYahooInstalled() != DEFAULT_VERSION) { return 1 } } else { return 0 } } } return 0 }为何通过
[javascript] view plain copyvar B = new ActiveXObject("aliimx.wangwangx"); if (B != null) { return 1 }这段代码能判断出Windows是否安装了旺旺呢?旺旺安装到Windows中之后会在注册表中写入若干条注册表项,在浏览器中通过ActiveX控件来读取注册表,如果能够找到相应的注册表项,则说明当前Windows中安装了旺旺,否则表明没有安装。调用
[javascript] view plain copynew ActiveXObject("aliimx.wangwangx");的时候浏览器会去读取注册表,在HKEY_CLASSES_ROOT下搜索aliimx.wangwangx表项,找到了则说明系统安装了阿里旺旺。
由此也可以知道,如果系统中的旺旺是未经“美化”的绿色版,浏览器不一定能够判断出它的存在。
热心网友 时间:2023-10-14 04:16
UC 针对国内用户可能相对顺手点,若是你老网友了。推荐使用opera ,简单实用,没有太多无用的功能,占用空间,资源,都很小。