Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Windows [игнор отключен] [закрыт для гостей] / Создание своего протокола. Цель-только IE / 20 сообщений из 20, страница 1 из 1
29.09.2015, 13:30
    #39064131
Kast2K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего протокола. Цель-только IE
Добрый день!
Дана задача - при клике по ссылке в письме или на определенном сайте корпоративной сети должен открыться Internet Explorer и перейти по переданной ссылке.

Почему именно IE - т.к. остальные браузеры не поддерживаются корпоративной системой.

Создал свой протокол:
Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\TRSDU]
@="URL:TRSDU Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\TRSDU\DefaultIcon]
@="iexplore.exe"

[HKEY_CLASSES_ROOT\TRSDU\Shell]

[HKEY_CLASSES_ROOT\TRSDU\Shell\Open]

[HKEY_CLASSES_ROOT\TRSDU\Shell\Open\Command]
@="\"iexplore\" \"%1\""



Создал тестовую страничку с ссылкой:
Код: html
1.
2.
3.
4.
5.
6.
<html>
<head></head>
<body>
<a href="TRSDU://ya.ru">TRSDU://ya.ru - кликни меня</a>
</body>
</html>



При клике по ссылке система спрашивает перейти или нет. Жму перейти.

И тут начинается кошмар :) Окна IE начинают создаваться и уничтожаться до бесконечности.

На других приложениях все работает нормально.

Проблема в IE? Он как-то неправильно парсит переданную ссылку? Не получает ли он вместо ya.ru ссылку TRSDU://ya.ru? Не могу отследить, т.к. окна создаются и закрываются очень быстро :(

Никогда не бойся делать то, что не умеешь.
Помни, профессионалы построили Титаник, а Ковчег любители.
...
Рейтинг: 0 / 0
29.09.2015, 13:50
    #39064169
Создание своего протокола. Цель-только IE
Kast2KДобрый день!
Дана задача - при клике по ссылке в письме или на определенном сайте корпоративной сети должен открыться Internet Explorer и перейти по переданной ссылке.

Почему именно IE - т.к. остальные браузеры не поддерживаются корпоративной системой.

Создал свой протокол:
Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\TRSDU]
@="URL:TRSDU Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\TRSDU\DefaultIcon]
@="iexplore.exe"

[HKEY_CLASSES_ROOT\TRSDU\Shell]

[HKEY_CLASSES_ROOT\TRSDU\Shell\Open]



Надо указать полный путь и полное наименование твоей проги как сдесь
https://technet.microsoft.com/en-us/library/bb660547%28v=office.12%29.aspx

[HKEY_CLASSES_ROOT\TRSDU\Shell\Open\Command]
@="\"iexplore\" \"%1\""



Создал тестовую страничку с ссылкой:
Код: html
1.
2.
3.
4.
5.
6.
<html>
<head></head>
<body>
<a href="TRSDU://ya.ru">TRSDU://ya.ru - кликни меня</a>
</body>
</html>



При клике по ссылке система спрашивает перейти или нет. Жму перейти.

И тут начинается кошмар :) Окна IE начинают создаваться и уничтожаться до бесконечности.

На других приложениях все работает нормально.

Проблема в IE? Он как-то неправильно парсит переданную ссылку? Не получает ли он вместо ya.ru ссылку TRSDU://ya.ru? Не могу отследить, т.к. окна создаются и закрываются очень быстро :(

Никогда не бойся делать то, что не умеешь.
Помни, профессионалы построили Титаник, а Ковчег любители.
...
Рейтинг: 0 / 0
29.09.2015, 13:51
    #39064172
Создание своего протокола. Цель-только IE
...
Рейтинг: 0 / 0
29.09.2015, 13:54
    #39064176
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего протокола. Цель-только IE
Kast2KНе получает ли он вместо ya.ru ссылку TRSDU://ya.ru?
Конечно, получает. И, чтобы понять, что с этой хренью делать - лезет в реестр. А там - рекомендация запустить iexplore.

Так что делай заглушку (исполняемый файл или скрипт), который подменит протокол и запустит ослика, передав ему отредактированную строку. И именно этот исполняемый файл/скрипт прописывай в HKCR\TRSDU\Shell\Open\Command
...
Рейтинг: 0 / 0
29.09.2015, 13:55
    #39064182
Kast2K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего протокола. Цель-только IE
Спасибо за советы!
Пошел лепить заглушку
...
Рейтинг: 0 / 0
29.09.2015, 15:48
    #39064328
Kast2K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего протокола. Цель-только IE
Вдруг кому пригодится :)
Корявенькая, но работающая заглушка

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
set arg1=%1

set arg2="%arg1:~10%

rem echo %arg1%

rem echo %arg2%

cd /d "c:\Program Files\Internet Explorer"
dir /w
for %%i in (iexplore.exe) do Goto FLS_EXIST

cd /d "C:\Program Files (x86)\Internet Explorer"
dir /w
for %%j in (iexplore.exe) do Goto FLSX86_EXIST

@Echo --- Folder empty
@Goto The_End

:FLS_EXIST
@Echo --- Files exists...
start "C:\Program Files\Internet Explorer\iexplore.exe" %arg2%
@Goto The_End

:FLSX86_EXIST
@Echo --- Files exists...
start "C:\Program Files (x86)\Internet Explorer\iexplore.exe" %arg2%
@Goto The_End

:The_End
rem @Pause
...
Рейтинг: 0 / 0
29.09.2015, 15:51
    #39064332
Kast2K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего протокола. Цель-только IE
Сам протокол
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\TRSDU]
@="URL:TRSDU Protocol"

[HKEY_CLASSES_ROOT\TRSDU\DefaultIcon]
@="C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe,1"

[HKEY_CLASSES_ROOT\TRSDU\shell]
@="open"

[HKEY_CLASSES_ROOT\TRSDU\shell\open]

[HKEY_CLASSES_ROOT\TRSDU\shell\open\command]
@="C:\\trsdu.bat \"%1\""
...
Рейтинг: 0 / 0
29.09.2015, 18:38
    #39064569
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего протокола. Цель-только IE
Kast2KДана задача - при клике по ссылке в письме или на определенном сайте корпоративной сети должен открыться Internet Explorer и перейти по переданной ссылке.Если не секрет, то каков практический смысл сей механики?
...
Рейтинг: 0 / 0
29.09.2015, 19:17
    #39064608
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего протокола. Цель-только IE
miksoftкаков практический смысл сей механики?
Видимо, у них в интранете дозволено не только ставить альтернативные браузеры, но и делать их дефолтными... а некие интранет-веб-ресурсы корректно работают только под IE. При этом у юзеров достаточно прав, чтобы куда-то в системную папку положить "левый" iexplore.exe.
Бардак, короче, а бороться с ним вынуждены те, у кого нехватает прав или политического веса.
...
Рейтинг: 0 / 0
29.09.2015, 19:22
    #39064612
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего протокола. Цель-только IE
Akinamiksoftкаков практический смысл сей механики?
Видимо, у них в интранете дозволено не только ставить альтернативные браузеры, но и делать их дефолтными... а некие интранет-веб-ресурсы корректно работают только под IE. При этом у юзеров достаточно прав, чтобы куда-то в системную папку положить "левый" iexplore.exe.
Бардак, короче, а бороться с ним вынуждены те, у кого нехватает прав или политического веса.О, теперь понял, спасибо.

Кстати, необязательно бардак в самой организации, бывает и внешний бардак. У нас была ситуация, когда одновременно у одного поставщика сайт корректно работал только в IE, а у другого, наоборот, не работал именно в IE :)
...
Рейтинг: 0 / 0
29.09.2015, 20:56
    #39064669
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего протокола. Цель-только IE
Один и тот же сайт? Быть не могёт... скорее всего, это последствия некорректной работы прокси-сервера...
...
Рейтинг: 0 / 0
29.09.2015, 22:07
    #39064695
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего протокола. Цель-только IE
AkinaОдин и тот же сайт? Быть не могёт... скорее всего, это последствия некорректной работы прокси-сервера...Нет, два разных сайта двух разных поставщиков.
Просто эти поставщики были в ведении одного нашего менеджера и он был нам (IT-отделу) очень "благодарен", хотя мы тут вовсе ни причем.
...
Рейтинг: 0 / 0
30.09.2015, 07:08
    #39064792
Kast2K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего протокола. Цель-только IE
Дело не в бардаке, а в софте, написанным в разные годы и не обновляемом вовремя.

Т.е. в интранете есть сайты, которые требуют только IE до 8-й версии, но параллельно с ними есть сайты требующие IE старше 9.0 или Chrome.
Некоторым сотрудникам требуется использовать и те и другие сервисы.
А т.к. система, требующая IE до 8.0 версии шлет рассылку на почту, то для ускорения работы пользователей и во избежание открытия Chrome вместо IE был выдуман этот протокол с заглушкой.

Повлиять на разработчиков невозможно, т.к. они сидят в далеком Тайланде, да и не в моей этой зоне ответственности\силах.

ЗЫ. Юзеры сильно обрезаны в правах и просто положить левый IE или иное не могут.
...
Рейтинг: 0 / 0
30.09.2015, 10:54
    #39064946
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего протокола. Цель-только IE
Kast2KЮзеры сильно обрезаны в правах и просто положить левый IE или иное не могут.
Да запросто. Кладём куда можно, и корректируем свой профильный PATH. Это может даже гость.

Kast2KДело не в бардаке, а в софте, написанным в разные годы и не обновляемом вовремя.
Так это и есть бардак...

Kast2Kв интранете есть сайты, которые требуют только IE до 8-й версии, но параллельно с ними есть сайты требующие IE старше 9.0 или Chrome.Но Set as default browser зачем разрешать?
Опять же - если рабстанция готовится так, что на ней имеются несколько браузеров, в т.ч. IE разных версий, то почему бы сразу не создать алиасы для исполняемых файлов? типа
Код: vbnet
1.
2.
3.
4.
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths\ie11.exe]
@="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\""


Аналогично создаём алиасы ie8.exe, ie9.exe и прочие - и соответственно в ярлыке запускаем какой-нить
Код: powershell
1.
ie8 http://mysile.local/index.htm
...
Рейтинг: 0 / 0
30.09.2015, 11:11
    #39064976
Kast2K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего протокола. Цель-только IE
Akina,

Спасибо за комментарии.

Вы дали мне, как программисту, и моим коллегам админам пищу для размышления.
...
Рейтинг: 0 / 0
30.09.2015, 11:48
    #39065009
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего протокола. Цель-только IE
Akinaи соответственно в ярлыке запускаем какой-нить
Код: powershell
1.
ie8 http://mysile.local/index.htm

А как это сделать в ссылке в тексте письма?
...
Рейтинг: 0 / 0
30.09.2015, 12:08
    #39065024
Kast2K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего протокола. Цель-только IE
miksoft,

я пока не смог этого представить. Скорее всего никак.
в моем случае есть возможность указывать только 1 из 2-х протоколов:
http:// или TRSDU://
...
Рейтинг: 0 / 0
30.09.2015, 12:34
    #39065060
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего протокола. Цель-только IE
miksoftкак это сделать в ссылке в тексте письма?
В ссылке, сабо самой, никак - вряд ли настройки зоны безопасности позволяют запускать локальные исполняемые файлы.
Но это и не нужно - целью создания алиасов в данном случае является устранение неопределённости при запуске одноимённых исполняемых файлов из разных местоположений.
...
Рейтинг: 0 / 0
30.09.2015, 12:36
    #39065062
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего протокола. Цель-только IE
AkinaНо это и не нужно - целью создания алиасов в данном случае является устранение неопределённости при запуске одноимённых исполняемых файлов из разных местоположений.Т.е. разные протоколы все-таки нужно создавать?
...
Рейтинг: 0 / 0
30.09.2015, 13:36
    #39065141
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание своего протокола. Цель-только IE
Для поставленной задачи, я полагаю, да. Это проще, чем делать свой хэндлер, который по списку будет разбрасывать линки в разные браузеры.
...
Рейтинг: 0 / 0
Форумы / Windows [игнор отключен] [закрыт для гостей] / Создание своего протокола. Цель-только IE / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]