Рейтинг:
25
Afzaal Ahmad Zeeshan
Вам нужно запустить протокол в виде гиперссылки на веб-странице, а затем Календарь Outlook (если он доступен на компьютере пользователя) запустится по умолчанию, чтобы взять под контроль запрос на обработку данных. Схема URI по умолчанию для календаря Outlook выглядит следующим образом, outlookcal:
, поэтому вам нужно написать следующий код в кнопке.
window.open("outlookcal:");
Ваш HTML-контент, точно будет,
<button id="outlookCalendarBtn" onclick="window.open('outlookcal:')">
Open Outlook Calendar
</button>
Этот код требует установки календаря Outlook. Если Outlook не установлен — или какое-то другое приложение управляет этим URI-схемы являются обработчиком по умолчанию, результаты не определены и не уверены. Поэтому примите надлежащие контрмеры и для этих сценариев.
Javascript - откройте заданный URL-адрес в новой вкладке, нажав кнопку - переполнение стека[
^]
Afzaal Ahmad Zeeshan
Спасибо!
IamWsk
Спасибо @Afzaal, но он открывает календарь windows, а не Календарь outlook. Как я могу изменить свой обработчик по умолчанию для него?
Afzaal Ahmad Zeeshan
Вам нужно будет проверить наличие этих параметров в настройках (Windows 10) или в реестре (все выпуски и версии Windows). Там вы сможете это изменить.
Как я уже упоминал, это все зависит от пользователя, чтобы управлять тем, какое приложение он хочет открыть для этой операции. Иногда другие приложения также сами переопределяют этот параметр. Можно также столкнуться с множеством других определенных проблем, и веб-приложение ничего не может сделать для этого.
IamWsk
Да, я проверил с помощью своих настроек windows 10 только календарь windows доступен для выбора приложения по умолчанию для OUTLOOKCAL: protocol. существует ли какой-либо другой подход к изменению настроек или Открытию календаря outlook?
Afzaal Ahmad Zeeshan
Действительно, и это потребовало бы от вас и ваших пользователей внести изменения, и мы ничего не можем сделать из веб-приложения. К сожалению, именно так создаются веб-стандарты. :-)
IamWsk
Пользователи моего приложения изменят этот параметр, но Календарь outlook не отображается в списке, когда они пытаются изменить параметр протокола.
Afzaal Ahmad Zeeshan
Спасибо, Картик.
Рейтинг:
1
Rajesh Kumar Bhawsar
Полностью согласен с решением 2, но в моем случае оно не сработало.
Поэтому я создал свою собственную пользовательскую схему uri, создав нижеприведенную запись реестра
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\outlookwebcal]
@="URL:Outlook Add Internet Calendar"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\outlookwebcal\shell]
@="open"
[HKEY_CLASSES_ROOT\outlookwebcal\shell\open]
[HKEY_CLASSES_ROOT\outlookwebcal\shell\open\command]
@="\"C:\\Program Files\\Microsoft Office\\root\\office16\\Outlook.exe\" /select outlook:calendar"
Рейтинг:
1
Afzaal Ahmad Zeeshan
С другой стороны, вы можете использовать схему Uri календаря Outlook и динамически запускать его через JavaScript.
Пожалуйста, смотрите решение 2 для получения дополнительной информации об этом.