【技巧】添加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的使用情况。有什么好想法也欢迎留言交流。

IE11用户请看:http://www.cystc.org/?p=2387


本文转自:http://blog.yeshj.com/phoenie/articles/1489140.html



发表评论?

0 条评论。

发表评论


无觅相关文章插件,快速提升流量