
Когда вы заходите на gmail.com, Chrome просит вас разрешить mailto:
обработку ссылок через gmail. На Outlook.com Microsoft забыла предоставить своим пользователям эту функцию. Как сделать это самостоятельно?
Редактировать 2021-8-3 Эта функция теперь встроена в сайт Outlook.com! Просто загрузите сайт и свой почтовый ящик, и вы увидите панель с кнопкой вверху, чтобы включить функцию (если Outlook посчитает ваш браузер совместимым).
решение1
В моей компании установлен Office 365, а онлайн-версия Outlook размещена наhttps://outlook.office.com/. Чтобы установить этот сайт в качестве обработчика электронной почты в Chrome:
- Откройте сайт веб-почты
- Откройте консоль Chrome ( ctrl+ shift+ j)
- Скопируйте следующую строку в консоль и нажмите Enter:
navigator.registerProtocolHandler("mailto", "https://outlook.office.com/?path=/mail/action/compose&to=%s", "Office 365");
Если вы передумали, откройте chrome://settings/handlers
и удалите указанный обработчик с помощью трехточечного меню.
решение2
Это немного запутанный процесс, но вы можете сделать это с помощьюnavigator.registerProtocolHandler
и веб-сайт, который немного переписывает строку запроса URL.
Идти кhttp://terrific-charger.glitch.me. Это небольшой проект Glitch, код которого приведен ниже, но вы можете убедиться, что здесь нет никаких мошеннических действий:https://glitch.com/edit/#!/terrific-charger?path=script.js:1:0.
Откройте консоль Chrome ( ctrl+ shift+ j), затем вставьте в нее следующий код и нажмите Enter:
navigator.registerProtocolHandler('mailto','http://terrific-charger.glitch.me/?mailto=%s','Outlook.com');
Chrome теперь сообщит вам, что "http://terrific-charger.glitch.me/хочет открывать ссылки электронной почты". Нажмите "Разрешить". Вот и все!
Чтобы отменить новое поведение, перейдите по адресу: chrome://settings/handlers
и удалите указанный обработчик с помощью меню с тремя точками.
Код ошибки:
if (location.search.length)
location = 'https://outlook.live.com/default.aspx?rru=compose&to=' +
decodeURIComponent(location.search).slice('?mailto=mailto:'.length).replace('?','&');