扩展IE通过Javascript来实现一些小需求

可能平时有这样的一些小需求,对于一些特定的网页,使用频度比较多且要录入数据的页面,数据存在某个地方,但是又不得一笔的去录,一笔两笔还好,多了就很不爽了,能不能自动填充这个已有的数据。对于IE浏览器微软是提供了一些方案来处理的比如说开发插件,但这个不是谁都能会的,但是javascript会写的人就比较多了。

下面的就是我处理这类小问题的处理方法,记录一下同时也分享给有同样需求的小伙伴:

  1. 向IE中增加按钮,上下文菜单中增加自定义菜单。
  2. 用javascript编写菜单事件。

增加按钮、上下文菜单

向IE中增加按钮菜单,通过注册表中增加HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt注册表项就能实现。

官方参考:Microsoft DOC:IE增加按钮、菜单

参考了上述官方文档,学差写个注册表文件.reg,如果你不愿看官方参考文档没关系,直接按你的要求改下面的注册表文件也行。

Windows Registry Editor Version 5.00 
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\&自定菜单] 
@="%SCRIPT_DIR%\\script.htm" 
"Contexts"=dword:00000023 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Extensions\{878EC0C9-AAAD-4331-9B3A-2D8BA93AEAD2}] 
"CLSID"="{2FBA04EE-3024-11D2-8F1F-0000F87ABD16}" 
"Default Visible"="Yes" 
"Script"="%SCRIPT_DIR%\\script.htm" 
"MenuText"="自定菜单" 
"ButtonText"="自定菜单" 
"HotIcon"="%SCRIPT_DIR%\\autofill.ico" 
"Icon"="%SCRIPT_DIR%\\autofill.ico" 
自定义菜单和%SCRIPT_DIR%要换成你自己的菜单名和脚本所在目录,可以定制菜单名和图标。


编写菜单响应事件

参考:  脚本参考官方文档

<script type="text/javascript">

// 获取window对象.
var oWindow = window.external.menuArguments;

// 获取document对象
var oDocument = oWindow.document;

// 示例代码在打开的当前页面处插入文本内容
// Get the selection from oDocument.
// in oDocument.
var oSelect = oDocument.selection;

// Create a TextRange from oSelect.
var oSelectRange = oSelect.createRange();

// Get the text of the selection.
var sNewText = oSelectRange.text;

// If nothing was selected, insert some text.
if (sNewText.length == 0){
   oSelectRange.text = "INSERT TEXT";
}

// 有document对象操作表单...

// 在head增加新的css或是javascript
var head=oDocument.getElementsByTagName("head")[0];
var reqscript = oDocument.createElement("script");
reqscript.src = "url...";

</script>

猜你喜欢

转载自blog.csdn.net/aketoit/article/details/80105767
今日推荐