我想让Google日历使用Webcal(维基百科)方案(提供ICS文件)打开URI ,类似于将Gmail设置为mailto:
链接的默认处理程序的方式。
更具体地说,我希望Google日历将其导入到我的主日历中。(您可以通过单击其他日历旁边的小箭头,从下拉列表中选择导入日历,导航到.ICS文件,然后选择导入来手动将ICS文件导入Google日历。)
我不知道这是否可行,但我希望有人会有一个好主意。
我想让Google日历使用Webcal(维基百科)方案(提供ICS文件)打开URI ,类似于将Gmail设置为mailto:
链接的默认处理程序的方式。
更具体地说,我希望Google日历将其导入到我的主日历中。(您可以通过单击其他日历旁边的小箭头,从下拉列表中选择导入日历,导航到.ICS文件,然后选择导入来手动将ICS文件导入Google日历。)
我不知道这是否可行,但我希望有人会有一个好主意。
Answers:
首次登录Google日历时,Chrome浏览器提供了此选项:
如果您不小心回答了No
这个问题,可以按Wrench
工具栏上的按钮,然后转到Settings
。单击Show advanced settings
,查找Content settings...
(在“隐私”标题之后)并找到Manage handlers
按钮。单击X
您要删除的忽略协议旁边的。或者,您可以protocol handlers
在Chromium设置中输入搜索框。请参见下面的屏幕截图。
我在stackexchange上找到了这篇文章,该文章解释了如何在Firefox中实现相同的功能,但是这对我在firefox 12和15上不起作用:如果我禁用了“从不保存历史记录”选项(私有浏览模式),则对我而言有效:
转到Google日历的网站,然后按
Ctrl+Shift+K
。将此粘贴到>符号后:
navigator.registerProtocolHandler("webcal","https://www.google.com/calendar/render?cid=%s","Google Calendar");
按Enter键,然后单击
Add application
应显示在工具栏下方的按钮。
您可能需要先将gecko.handlerService.allowRegisterFromDifferentHost
选项切换about:config
到,true
然后再尝试执行此操作(如果google将您重定向到本地google域)。请记住在调用registerProtocolHandler函数后将其返回为false,因为恶意站点可能会利用它。在这里查看详细信息。
javascript:navigator.registerProtocolHandler("webcal","https://www.google.com/calendar/render?cid=%s","Google Calendar");
Google Chrome浏览器的位置栏中才能正常工作。
由于我遇到了与OP相同的问题,并且自从发布接受的答案以来情况发生了变化,所以我认为我会分享自己的发现。以下说明主要适用于Firefox,但除了几乎没有区别外,它们也应在Chrome中运行。
因为使用
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
,然后单击Save。[...].uriTemplate
项目的按钮,即已编辑项目下方的项目。https://calendar.google.com/calendar/r?cid=%s
并单击Save。Applications
款。webcal
的任何打字它逼到上面的列表,或通过滚动搜索框。Use Google Calendar
(或您在说明#4中选择的任何名称)。测试日历:https://www.webcal.fi/en/calendars.php
HTH。如果没有,请在下面发表评论。
navigator.registerContentHandler
方法,但仍然没有结果,URI / gcal未注册为mime类型:text/calendar
gecko.handlerService.schemes.webcal.X.name
和添加一个条目gecko.handlerService.schemes.webcal.X.uriTemplate
(其中X比当前的最高数字高)about:config
。之后,您可以继续执行指令5。
-1
不满意的Chrome用户“ 编辑”。其次,我从没说过“指令也可以在Chrome中工作”。取而代之的是,我明确指出:“ 除了极小的差异外,它们还可以在Chrome中运行”!最后,由于我永远不会使用Chrome,所以我根本不在乎它如何处理webcal链接-对于Firefox来说,它是有效的,这就是从一开始就为整个答案背后的原因-对于基于Chromium的解决方案,请参见@peonicles或@jeremija,然后要求他们进一步修复Chrome。