Posted by
Jeremy Winston-2 on
Feb 15, 2007; 11:19pm
URL: http://imagej.273.s1.nabble.com/Bug-openURL-on-MS-Windows-with-default-browser-IE-tp3699891p3699894.html
Curtis Rueden wrote:
> On Windows XP with IE7, I could not duplicate the problem. It also
> works fine with Firefox. In addition, Microsoft's solution requires
> Microsoft-specific classes (com.ms.*) available only to Visual J++
> (not Sun's JVM). So Microsoft's official solution is proprietary (big
> surprise). So I would suggest ImageJ stick with the rundll32 solution.
Thus far, it seems that Windows 2000 with IE 6
is the only combination affected. NT4 with IE 6
is not affected, and XP with IE7 is not affected.
I have been unable to determine whether it is IE6
or W2K that is the culprit. I.e., I don't know
if RUNDLL32.EXE (part of the OS) or URL.DLL (part
of IE) is at fault.
It seems to me that a workable kludge would be to
check if the OS is Windows 2000, and if so, if the
URL to be opened ends in .htm or .html, then change
the 'm' to %6D or the 'l' to %6C.
I.e., insert code that accomplishes the following
after line 414 of BrowserLauncher.java
http://rsb.info.nih.gov/ij/docs/source/ij/plugin/BrowserLauncher.java.html#414 if (System.getProperty("os.name").startsWith("Windows 2000")) {
if (url.endsWith(".htm")
Remove url's last char and append "%6D"
elseif (url.endsWith(".html")
Remove url's last char and append "%6C"
}
or something like that. Anyone care to try?
Thanks,
-Jeremy