如何使用js开发IE浏览器本地插件

JavaScript023

如何使用js开发IE浏览器本地插件,第1张

使用js开发的IE插件可以在当前浏览的页面中执行js代码,在此基础上实现任何用户可以想到的功能。

可以针对不用的网站做一些common处理(比如提取某类信息),也可以针对特定网站做特色处理(比如抢购火车票)。

实现这种插件方法比较简单,只需拷贝几个文件,修改一个注册表值即可。所以比较适合快速实现一些浏览器或者网站辅助功能。

实现步骤:

1.创建实现具体功能的html文件

//文件名称:getticketslist.html

//文件内容:

<script language="JavaScript">

var args = external.menuArguments

var doc = args.document

var cframe = doc.CONTENTS_IFRAME

if (cframe &&cframe.document) {

doc = cframe.document//获取当前页面的document元素

//TODO:从document中获取ticket list元素并做相应处理

}

</script>

2.创建注册表文件

//文件名称:getticketslist.reg

//文件内容:文件中的CLSID可以任意修改,唯一即可

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Extensions\{878EC0C9-AAAD-4331-9B3A-2D8BA93AEAD2}]

"CLSID"="{2FBA04EE-3024-11D2-8F1F-0000F87ABD16}"

"Default Visible"="Yes"

"Script"="c:\\getticketslist.html"

"MenuText"="处理tickets"

3.将html文件拷贝到reg文件中指定的路径(如c:\getticketslist.html)

4.运行getticketslist.reg,修改注册表

5.重启IE,在菜单【工具】中可以看到刚才添加的功能"处理tickets",点击执行

IE没有这种方法,只能是逐个new ActiveXObject('ShockwaveFlash.ShockwaveFlash')既定的插件名,然后通过是否实例成功侧面检测指定的插件是否已安装。

浏览器认为不安全,所以需要用户确认才能执行,修改方法就是设置浏览器安全级别,打开浏览器-工具-internate选项-安全,设置"该区域的安全级别",设置下 "ActiveX控件和插件"应该就好了,弹着对话框时正常的,js非常之强大,浏览器不可能随便让它们运行的。