While mucking around in the registry, I stumbled upon a simple method of adding extensions to your IE 4.x (or greater) right click.

You can write a JAVA script and add it by using Regedt32 to navigate to:

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer

Double-click the Internet Explorer key and check for a MenuExt sub-key. If none exists, Add Key.

Select the MenuExt key and add a sub-key for your command. An & in front of any letter in the key name causes that unique letter to be keyboard selectable.

Select the key you just added and add a type REG_SZ value without a name and set the string to the full path to the HTM file that contains the JAVA script. With that same key selected, Add Value name contexts as a REG_BINARY and set it to Hex 01.

You can also create a .REG file.

While I don't program, using various sources (heavy copying), I was able to coble together a script that will display all the links on a page, in a separate window. To implement it, run the following REG file:


\[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\&JSI Links\]

Download the script and unzip it to your C:\WINNT\WEB folder.

When you right click on a page in IE, you can type j or select JSI Links.

The C:\WINNT\WEB\jsilnk.htm file contains (DO NOT copy and paste it):

                              <script language=javascript defer>                              var jsi = new String ("toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes, resizable=yes, top=40, left=20, width=400, height=");                              jsi = jsi + (screen.height - 140);                              //alert (screen.height);                              var jsiWait = ("", "JSILinkFinder", jsi);                    ;                              jsiWait.document.writeln ("<html>");                              jsiWait.document.writeln ("<head>");                              jsiWait.document.writeln ("<title>JSI Links List</title>");                              jsiWait.document.writeln ("</head>");                              jsiWait.document.writeln ("<body topmargin=0 leftmargin=0 rightmargin=0 bottommargin=0>");                              jsiWait.document.writeln ("<font style=\"font:	8pt Verdana, Arial, Helvetica, Sans-serif; line-height:18pt;\">");                              jsiWait.document.writeln (" JSI links in <b>" + external.menuArguments.document.title + "</b>:<ol>");                              var links = external.menuArguments.document.links;                              for (i = 0; i < links.length; i++)                              \{                              	if ( links(i).innerText != "" && links(i).innerText != " ")                              	\{                              		jsiWait.document.writeln ("<li><A HREF='javascript:navigateClose(\"" + links(i).href + "\")' TITLE=" + links(i).href + ">" + links(i).innerText + "</a><BR>");                              	else                              	\{                              		jsiWait.document.writeln ("<li><A HREF='javascript:navigateClose(\"" + links(i).href + "\")'>" + links(i).href + "</a><BR>");                              \}                              jsiWait.document.writeln ("</ol><center><a href='javascript:window.close()' style=\"color:#990000;text-decoration:none\">close</a></center><BR></body>");                              jsiWait.document.writeln ("</font></html>");                              jsiWait.document.close();                              jsiWait.document.my_parent = external.menuArguments;