|
Открытие адреса с протоколом "file" и якорем средствами ОС в браузере
| ☑ |
0
TormozIT
гуру
01.01.23
✎
10:43
|
Выполняю код
ЗапуститьПриложение("file://C:/Program%20Files%20(x86)/1cv8/8.3.22.1791/docs/ru/V8Update.htm#8d819ddb-78fd-11ec-aa69-0050569f678a");
В браузере открывается адрес "file:///C:/Program%20Files%20(x86)/1cv8/8.3.22.1791/docs/ru/V8Update.htm", т.е. без якоря (8d819ddb-78fd-11ec-aa69-0050569f678).
Если я вставляю исходный адрес в поле "Адрес" браузера, то в браузере открывается оригинальный адрес, т.е. с якорем.
Как сделать чтобы через ЗапуститьПриложение() якорь пробросился?
|
|
1
oslokot
01.01.23
✎
11:09
|
А что если перед открытием файла удалить все его содержимое до якоря?
|
|
2
ДедМорроз
01.01.23
✎
15:26
|
Открыть браузер,а уже ему передать url для открытия через командную строку.
|
|
3
TormozIT
гуру
01.01.23
✎
16:13
|
(2) Не умею так. Научи
|
|
4
ДедМорроз
01.01.23
✎
20:17
|
|
|
5
TormozIT
гуру
01.01.23
✎
20:30
|
(4) Хм. А если у пользователя другой браузер назначен для протокола "file"? Получается уже надо лезть в системный реестр и искать там путь к приложению-обработчику протокола. А где гарантия что все браузеры поддерживают одинаковый стиль передачи параметра URL через командную строку? А где гарантия, что не будет при этом запускаться новый процесс браузера, если уже есть запущенный? Очень много сложностей возникает.
|
|
6
ДедМорроз
01.01.23
✎
23:12
|
На протокол браузер посадить сложно.
Система открытия windows работает по расширениям.
Ну и общие префиксы,типа http и ftp она знает.
По идее,можно зарегистрировать обработчик протокола file,но проблема в том,что для браузеров он тоже будет действовать.
А браузер по умолчанию можно из реестра прочитать.
|
|
7
ДедМорроз
02.01.23
✎
00:30
|
HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http
|
|