проблема открытия htm файлов с внутренней ссылкой из командной строки - PullRequest
0 голосов
/ 18 ноября 2009

Я пытаюсь открыть файл справки из моего приложения Java. Я могу сделать это, используя строку:

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-файлов или имена внутренних ссылок. Кто-нибудь сталкивался с этой проблемой и есть какие-нибудь предложения по ее преодолению? Спасибо!

Ответы [ 2 ]

0 голосов
/ 18 ноября 2009

Вы пытались использовать URL-адрес файла?

\path\to\iexplore.exe file:///path/to/your/helpfile.html#some%20section
0 голосов
/ 18 ноября 2009

Используйте класс Desktop, например:

Desktop.getDesktop().browse(new Uri(path));

Помните, что некоторые люди (включая меня) используют Firefox вместо IE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...