Имя: Пароль:
1C
 
Открытие адреса с протоколом "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