世界之窗论坛's Archiver

六翼拉菲尔 发表于 2007-6-15 12:10

如何在浏览器的右键菜单中添加功能?

虽然有搜索栏 但是 我是一个很懒的人 有多懒呢? 如果右手拿着鼠标了 就不想再用左手动动键盘来解决问题
一直以来 搜索这个问题一直困扰着我 不方便啊 太不方便啦
偶然间一次在Ubuntu下用FF的时候突然发现右键菜单里面有在yahoo上搜索的内容 觉得这个方法不错 回忆起以前在ie的时候也有过在右键菜单里面添加用**搜索引擎搜索选定内容的选项 于是开始找办法添加这个非常方便的功能

终于 我找到了这个帖子

原文链接:[url=http://gztw.com/2005/06/post_20.html]http://gztw.com/2005/06/post_20.html[/url]

[quote]如果您对脚本语言有一定的了解,您可以自己动手为Internet Explorer 浏览器的右键快捷菜单添加功能,让您浏览互联网时更加便利。下面以一个方便我们搜索MP3歌曲的选项为例,介绍如何实现。要添加一个右键快捷菜单选项,您可以打开注册表编辑器,依次单击展开到“HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt”,单击“编辑”菜单选择新建一个项,项命名的名称将会是浏览器右键快捷菜单新增项显示的文字,例如“MP3 Search”。而如果希望为这一个新增的选项定义一个键盘快捷键,例如在右键单击显示快捷菜单后按键盘的“M”键选择该选项,可以在“MP3 Search”的前面加一个“&”,也就是将新建项命名为 “&MP3 Search”。

      新建项后单击该项,双击右边窗口中的“默认”值,将值改为准备调用的脚本程序全路径,例如“C:\WINDOWS\web\ MP3.htm”。再次单击“编辑”菜单选择新建一个“二进制值”,将值的名称命名为“contexts”,该值将用于设置新增选项应该在浏览器处于何种状态下,单击出现在右键快捷菜单。默认情况下设置为“01”,表示在任何情况下单击右键都出现,“02”表示在图像上右键单击时才出现,“04”表示在控制物件上右键单击出现,“08”表示在表格上右键单击出现,“10”表示在选中文本后右键单击出现,本例中我设置为“10”,表示在选中文本后右键单击出现这个新增选项。

      最后,我们再编辑一个用于实现功能的脚本程序(MP3.htm的具体代码),然后将其存储为“C:\WINDOWS\web\MP3.htm”,即可大功告成。在我们使用Internet Explorer 浏览器浏览网页时,当网页中提到的某首歌曲您感兴趣时,可以用鼠标选择该歌曲的名称,然后右键单击选择“MP3 Search”,浏览器即会打开新窗口使用百度搜索引擎搜索这首歌曲。灵活的利用浏览器的右键菜单自定义功能,配合脚本程序,您可以实现许多复杂的应用。例如将MP3.htm 脚本程序中的“[url]http://mp3.baidu.com/m?tn=baidump3&amp[/url];ct=134217728&word='+rng+'&lm=0”改为 “[url]http://search.sina.com.cn/cgi-bin/search/search.cgi?_searchkey=site:www.chip.cn+'+rng+'&amp[/url];_ss=sina'”,即可将在百度MP3搜索引擎搜索当前选中文本的功能,改为在新浪搜索引擎搜索CHIP杂志网站中包含当前选中文本的功能。
[indent][table][tr][td=1,1,568][align=center]MP3.htm的具体代码 [/align][/td][/tr][tr][td=1,1,568]<SCRIPT LANGUAGE="javascript">
ExtMen = external.menuArguments;
var rng = external.menuArguments.document.selection.createRange().text;
location.href='http://mp3.baidu.com/m?tn=baidump3&ct=134217728&word='+rng+'&lm=0';
</SCRIPT>
[/td][/tr][/table][/indent]      注意在测试上述代码时确保浏览器“Internet选项”“高级”选项卡中的“总是以UTF-8发送URL”被选中,否则可能导致提交的中文字变成乱码。并且如果您使用Windows XP SP2系统,安全设置过高而禁止了所有脚本程序运行,只需在选择右键菜单选项时按下键盘的“Ctrl”键即可解决问题。篇幅所限无法为您提供过于详细的脚本,本例中所使用的脚本程序,都是去除错误处理等大部分代码后的结果。

[/quote]

但是问题出现了

根据他所说的做了以后 有这么几个地方有问题

第一 在IE中可以 但是在tw中就死活不出现这个选项

第二 根据他所说的 状态10 应该是在选定文本的时候出现 经我测试发现在任何时候都会出现

第三 还有一个问题就是如果以后添加的搜索引擎多了 那点右键的时候菜单会变成长长长长的一列 所以需要进行折叠处理 这个问题文中也没有提到

把我遇到的问题贴到这里来找高手帮忙解决

还有就是关于搜索引擎的脚本编写的问题

能不能就文中提到的脚本进行一下说明?这样以后我们想自己添加脚本的时候就可以像在浏览器的搜索栏中添加搜索引擎一样方便了

:lol: :lol: :lol:

懒人就要有懒人的生活方式不是?

mutalisker 发表于 2007-6-18 10:52

简单回一下:

1.menuext中有的项TW目前应该是可以正常显示的,如果你那里不能显示,可以跟我联系,直接PM我消息就可以

2.状态对应的东东你可以参考这个页面, Text selection 0x10 不是10
[url=http://msdn2.microsoft.com/en-us/library/Aa753589.aspx]http://msdn2.microsoft.com/en-us/library/Aa753589.aspx[/url]


3.这个问题IE目前的这种接口方式好像解决不了



<SCRIPT LANGUAGE="javascript">
ExtMen = external.menuArguments;    [color=red]//获得页面的window对象
[/color]var rng = external.menuArguments.document.selection.createRange().text; [color=red]//获得当前选中文字,也可以简化成[/color]
                                                                                                          [color=red]//var rng = ExtMen .document.selection.createRange().text
[/color]location.href='http://mp3.baidu.com/m?tn=baidump3&ct=134217728&word='+rng+'&lm=0';[color=red]//拼一个搜索串,然后让当前页面跳转过去
[/color]</SCRIPT>

六翼拉菲尔 发表于 2007-6-18 12:12

非常抱歉 没有按照要求给你发信息 因为没法贴图 所以直接在回帖里面贴了

[attach]24984[/attach]

在ie中正常

[attach]24985[/attach]

在tw中不行

[attach]24986[/attach]

[[i] 本帖最后由 六翼拉菲尔 于 2007-6-18 12:20 编辑 [/i]]

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.