【问题标题】:Is it possible to open new browser window with custom headers and content?是否可以使用自定义标题和内容打开新的浏览器窗口?
【发布时间】:2015-04-24 02:52:18
【问题描述】:

我有一个 Sencha Touch 网络应用程序。我正在尝试生成一个日历事件文件并在另一个窗口中打开它,从而迫使 iOS 要求用户将此事件导入标准日历。

我可以使用window.open 然后使用document.write 来生成我想要的文件,但我还需要使用 content-type 指定自定义标题,以便 Safari 将其识别为日历文件。

有可能吗?

【问题讨论】:

标签: javascript ios http-headers sencha-touch


【解决方案1】:

如果您重定向到 window.opendata URI,则可以指定 MIME 类型。

作为一个简单的测试(iOS 6 上的 Safari),我手动导航到这个数据 URI...

data:text/calendar;base64,QkVHSU46VkNBTEVOREFSDQpWRVJTSU9OOjIuMA0KUFJPRElEOi0vL2hhY2tzdy9oYW5kY2FsLy9OT05TR01MIHYxLjAvL0VODQpCRUdJTjpWRVZFTlQNClVJRDp1aWQxQGV4YW1wbGUuY29tDQpEVFNUQU1QOjE5OTcwNzE0VDE3MDAwMFoNCk9SR0FOSVpFUjtDTj1Kb2huIERvZTpNQUlMVE86am9obi5kb2VAZXhhbXBsZS5jb20NCkRUU1RBUlQ6MTk5NzA3MTRUMTcwMDAwWg0KRFRFTkQ6MTk5NzA3MTVUMDM1OTU5Wg0KU1VNTUFSWTpCYXN0aWxsZSBEYXkgUGFydHkNCkVORDpWRVZFTlQNCkVORDpWQ0FMRU5EQVI=

...然后弹出:

【讨论】:

  • 这确实适用于桌面(我正在下载 ics 文件,如果我在 Mac 上打开它,它会将事件添加到日历应用程序),但在 iOS8 上我收到一条错误消息This file cannot be downloaded。是否在最新的 iOS 版本中删除了对数据 URI 的支持?
  • 小修正。当我直接从浏览器访问它时,它也可以在 iOS 上运行。当我使用主屏幕快捷方式访问网络应用程序时,它给了我该错误消息。我认为问题在于对联系人的权限(因为我得到提示允许 Safari 访问联系人)。我会再调查一下。谢谢。
猜你喜欢
  • 2017-07-25
  • 1970-01-01
  • 2015-09-16
  • 2023-02-20
  • 1970-01-01
  • 1970-01-01
  • 2013-07-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多