我试图从我的Java应用程序中打开帮助文件。我能够做到这一点使用线路:从命令行使用内部链接打开htm文件
Runtime.getRuntime().exec(new String[] {strPath, strUrl});
其中strPath的是通向IEXPLORE.EXE和strURL是我的帮助文件的路径。但是,当我传递一个包含空格的内部链接(例如“c:... \ helpfile.htm#some section”)的帮助文件时,该页面将在IE中打开,但不会跳转到相应的部分。如果我用“%20”替换空格,则会发生同样的情况。
在XP中使用命令行会发生更奇怪的事情。当我运行:
c:\> path\to\iexplore.exe "path\to\helpfile.htm#some section"
我得到同样的行为上面,但如果我键入:
c:\> path\to\iexplore.exe "path\to\helpfile.htm#some%20section"
IE浏览器将启动,但它不会打开该文件在所有的,我也得到指向我的主页。
将其中带有空格的帮助文件路径放入IE的地址栏中会成功将我指向正确的部分。同样,Firefox看起来好像没有这些缺点。
我不相信我可以做很多改变htm文件的布局或内部链接的名称。有没有人遇到过这个问题,并有任何建议如何克服它?谢谢!
如果这是默认浏览器,这将启动FF而不是IE,但它似乎完全忽略URI末尾的片段“#some%20section”。我如何让浏览器转到完整路径,而不是仅仅是htm文件? – 2009-11-18 15:55:21