打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
在IE右键菜单中添加功能,以方便访问不带超链接的网址

原标题:添加IE右键菜单命令:在新选项卡中打开非链接形式的URL

新的IE8非常好用,与IE7相比提升了很多,令人眼前一亮。加速器其实就是划词功能,结合一堆“搜索提供程序”已经非常强大,让我这个懒人也觉得基本满意了。但美中不足的是,对于非链接形式(不能直接点击)的网址,却没法一下打开,还是需要复制→地址栏粘贴→回车这一过程,令人十分不爽。虽然许多论坛都支持在网址上自动添加链接,但也有不支持的,比如天涯;即便支持也有识别出错半路截断的情况,所以这个功能还是时常需要的。它不支持我们就自己搞,自己动手丰衣足食嘛。

  为了照顾懒人,先给出所需文件的下载链接,解压之后双击openURL.bat即可。重启IE后选中网址,会在右键菜单中找到“在新选项卡中打开”这一项。必须指出的是,本方法仅在XP下的IE8中测试过,我认为在XP下的IE7和IE6中应该也没问题。如果是IE6或未打开选项卡模式,应该会在新窗口中打开网址。对于其它版本的Windows,可以自己找下IE右键菜单的注册表项。

  最初是想添加一个加速器的,但把注册表改来改去发现限制太多,不得不放弃,改用右键菜单。原理如下。添加一个注册表项,就会出来一条右键菜单项。点击之后调用一段保存在htm文件中的js脚本,就能打开网址了。这里还需要判断一下,选中文字是否包含协议部分(比如http://),如果不包含必须加上,不然会默认成当前域名的下一级路径。除了这种调用js脚本的右键菜单命令,还有调用dll和exe的,这里就不说了。贴代码。

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\在新选项卡中打开]
@="C:\\Program Files\\Internet Explorer\\openURL.htm"
"Contexts"=dword:00000010

  如果不想放在Internet Explorer目录下,可以把红字部分改成其它路径(注意双反斜线)。蓝字部分是在右键菜单中显示的文本。Contexts值决定了在什么时候显示这条命令,10(16进制)就是在选中文字时,这个也是试出来的。

<script language="javascript">
var oWindow = window.external.menuArguments;
var sText = oWindow.document.selection.createRange().text;

if (sText.indexOf("://") == -1)
     oWindow.open("http://"+sText, "_blank");
else
     oWindow.open(sText, "_blank");
</script>

  这个文件应该不需要改,放在注册表里指定的路径下就行了。oWindow取得调用脚本的当前窗口的window对象,sText取得选中文字。indexOf判断是否存在协议提示符,如果不存在就添加默认的http://再打开,否则直接打开。

  欢迎反馈其它版本的windows或IE的使用情况。有什么好想法也欢迎留言交流。

转载自:http://blog.hjenglish.com/phoenie/articles/1489140.html

dodo评语:

当今的浏览器基本都有拖拽网址在新窗口打开的功能。本文的实现方法可以用来借鉴~

另外在注册表中的浏览器中的右键菜单的键值里,你可以看到诸如迅雷等常用工具的实现范例~

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt,是很好的学习素材。

update 2011年9月8日:

注册表的Contexts的值代表右键点击IE中什么对象时出现设置的右键菜单,具体含义如下(可组合):
0x01 缺省
0x02 图片
0x04 控件
0x08 表单域
0x10 选择文本
0x20 超链接

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
IE主页被恶意篡改怎么办
IE主页被恶意修改怎么办?
清除IE右键菜单
注册表
【原创】Internet Explorer 常见问题解决方法!
清理多余的IE右键菜单
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服