问:“文档管理”类软件保存IE页面所选文字的实现原理?(100分)

  • 主题发起人 主题发起人 DaChu
  • 开始时间 开始时间
D

DaChu

Unregistered / Unconfirmed
GUEST, unregistred user!
该类软件常在IE的右键菜单中添加一个 “ 将所选部分保存到XXX软件中”
现在知道是在注册表中添加两个项
但我不知道它们的作用

好像调用了一个HTML文件,同剪贴板有关系吗?请指教,谢谢!

我不知道应该发在哪?只好发在这了
 
首先在[HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/MenuExt/]下新建一“主键”(注意不是“值”),主键的名称为将显示在上下文莱单中的名称,比如:使用网际快车下载全部链接。在此新建一名为Test的主键。而Test键的默认值为点击莱单项时要执行的“.htm”文件,在此假设为“C:/Test.htm”,其内容如下:
<SCRIPT LANGUAGE="JavaScript">
var parentwin = external.menuArguments;
var doc = parentwin.document;
var sel = doc.selection;
var rng = sel.createRange();
var str = new String(rng.text);
if(str.length == 0)
rng.text = "MY INSERTED TEXT";
else
rng.text = str.toUpperCase();
</SCRIPT>

注意上述内容为IE浏览器的内嵌脚本,执行时窗口是隐藏的。上述内容的意思是当在IE浏览器中选取了一段内容,并点击Test莱单项后,那么选区内的所有小写字母都将变为大写字母,而若没选取任何内容时,则在当前窗口中插入MY INSERTED TEXT。
此外,还可有选择的让Test出现在上下文莱单中,比如:只让Test莱单项出现在有超级链接的地方,则可在Test主键下新建的类型为“DOWRD”的名为“contexts”的值,值的内容为十六进制值22,当然还可为其它的十六进制值,具体意思和内容请参阅MSDN帮助。
下面给出本人测试时所用的注册表脚本内容(文件名为Test.reg):

REGEDIT4
[HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/MenuExt/Test]
@="C://Test.htm"
"contexts"=dword:00000022

懂一点 DHtml 就行了!!!!!!!!
 
谢谢你两次回答我的问题
先把这个结了,还有个问题提到另一个帖子了,盼答
 
后退
顶部