Календарь Google как обработчик веб-протокола по умолчанию для файлов iCal/ICS
Я бы хотел, чтобы в Календаре Google открывались URI со схемой Webcal (википедия) (доставка файлов ICS), аналогично тому, как Gmail может быть установлен в качестве обработчика по умолчанию для mailto:
ссылки.
В частности, я хотел бы, чтобы Календарь Google импортировал их в мой основной календарь. (Вы можете вручную импортировать файл ICS в Календарь Google, нажав на маленькую стрелку рядом с Другими календарями, выбрав Импортировать календарь из раскрывающегося списка, перейдя к файлу.ICS и выбрав Импорт.)
Я не знаю, возможно ли это, но я надеюсь, что у кого-нибудь будет отличная идея.
3 ответа
хром
Браузер Chromium предлагает эту опцию при первом входе в Календарь Google:
Если вы случайно ответили No
на этот вопрос вы можете нажать Wrench
кнопку панели инструментов и перейдите к Settings
, Нажмите Show advanced settings
, находить Content settings...
(только после заголовка конфиденциальности) и найдите Manage handlers
кнопка. Нажмите на X
рядом с игнорируемым протоколом, который вы хотите удалить. Кроме того, вы можете ввести protocol handlers
Окно поиска в настройках Chromium. Смотрите скриншот ниже.
Fire Fox
Я нашел этот пост в stackexchange, в котором объясняется, как добиться того же самого в Firefox, но у меня это не работает в Firefox 12 и 15: это работает для меня, если я отключаю опцию Никогда не сохранять историю (режим приватного просмотра):
Перейдите на сайт Календаря Google и нажмите
Ctrl+Shift+K
,Вставьте это после знака>:
navigator.registerProtocolHandler("webcal","https://www.google.com/calendar/render?cid=%s","Google Calendar");
Нажмите клавишу ввода и нажмите
Add application
кнопка, которая должна появиться под панелью инструментов.
Возможно, вам придется переключить gecko.handlerService.allowRegisterFromDifferentHost
вариант в about:config
в true
прежде чем пытаться это (если Google перенаправляет вас на локальный домен Google). Не забудьте вернуть значение false после вызова функции registerProtocolHandler, поскольку вредоносные сайты могут использовать это. Подробности здесь.
В более новых версиях Chromium/Chrome вам необходимо войти в календарь Google и щелкнуть значок с ромбами в адресной строке.
Выберите "Использовать Календарь Google", затем нажмите "Готово". Это зарегистрирует календарь Google в качестве обработчика веб-ссылок.
Замечания:
Возможно, вам придется настроить Chromium, чтобы сайты стали обработчиками протоколов по умолчанию. Вы можете сделать это через:
- Расширенные настройки -> Конфиденциальность, Настройки контента -> Обработчики
- Выберите "Разрешить сайтам запрашивать статус обработчиков протоколов по умолчанию"
По состоянию на январь 2020 года мне удалось решить эту проблему для Firefox, выполнив следующие действия:
- about:config - установить для dom.registerContentHandler.enabled значение true;
- открыть календарь Google;
- нажмите Ctrl+Shift+K, чтобы открыть консоль;
скопируйте следующий код, вставьте его в консоль и нажмите Enter:
javascript:window.navigator.registerProtocolHandler("webcal","https://calendar.google.com/calendar/r?cid=%s","Календарь Google");
После этих шагов вы должны увидеть полосу шириной окна под адресной строкой, спрашивающую вас, хотите ли вы установить календарь Google в качестве обработчика webcal по умолчанию.
До этого я пытался использовать основное решение Йоды, но оно не сработало - во всяком случае, ура, это вдохновило меня поближе взглянуть на записи about:config и открыть для себя этот метод.
Поскольку я столкнулся с тем же вопросом, что и ОП, и после опубликования принятого ответа все изменилось, я решил поделиться своими выводами. Следующие инструкции в основном относятся к Firefox, но, кроме небольших различий, они должны работать и в Chrome.
[2019-03-08] Обновление: отражает новое поведение Firefox
Потому что используя
javascript:window.navigator.registerProtocolHandler("webcal","https://calendar.google.com/calendar/r?cid=%s","Google Calendar");
в консоли Firefox приводит к
SecurityError: В доступе отказано в добавлении https://www.google.com/calendar/render?cid=%s в качестве обработчика протокола
в настоящее время, вот новый способ все еще "сделать это":
- Перейдите к
about:config
, подтверждая риск, нажав на кнопку. - Тип
webcal
, фильтрация списка по элементам типаgecko.handlerService.schemes.webcal.[...]
, - Нажмите кнопку Изменить справа от выбранного вами
[...].name
пункт (так как 30 коробок был заброшен с Firefox 67, я выбрал[...].0.name
) - Введите желаемое имя, например,
Google Calendar
и нажмите Сохранить. - Нажмите кнопку Изменить вашего соответствующего
[...].uriTemplate
пункт, то есть тот, что чуть ниже вашего отредактированного. - Вставьте URL
https://calendar.google.com/calendar/r?cid=%s
и нажмите Сохранить. - Перейдите к параметрам Firefox для связанных приложений, последовательно нажимая ≡, ⚙ Параметры, ⚙ Общие параметры меню, а затем прокручивая вниз до
Applications
параграф. - Поиск в списке для
webcal
либо введя его в поле поиска чуть выше списка, либо с помощью прокрутки. - Нажмите раскрывающийся список в правой части записи и выберите
Use Google Calendar
(или любое другое имя, которое вы выбрали в инструкции № 4).
Тестовые календари: https://www.webcal.fi/en/calendars.php
НТН. Если нет, просто оставьте комментарий ниже.