是否可以使用自定义 headers 和内容打开新浏览器 window?

Is it possible to open new browser window with custom headers and content?

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

我可以 window.open 然后使用 document.write 生成我想要的文件,但我还需要用 content-type 指定自定义 headers 这样 Safari 才能识别它作为一个日历文件。

可能吗?

如果您重定向到或 window.open data URI,您可以指定 MIME 类型。

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

data:text/calendar;base64,QkVHSU46VkNBTEVOREFSDQpWRVJTSU9OOjIuMA0KUFJPRElEOi0vL2hhY2tzdy9oYW5kY2FsLy9OT05TR01MIHYxLjAvL0VODQpCRUdJTjpWRVZFTlQNClVJRDp1aWQxQGV4YW1wbGUuY29tDQpEVFNUQU1QOjE5OTcwNzE0VDE3MDAwMFoNCk9SR0FOSVpFUjtDTj1Kb2huIERvZTpNQUlMVE86am9obi5kb2VAZXhhbXBsZS5jb20NCkRUU1RBUlQ6MTk5NzA3MTRUMTcwMDAwWg0KRFRFTkQ6MTk5NzA3MTVUMDM1OTU5Wg0KU1VNTUFSWTpCYXN0aWxsZSBEYXkgUGFydHkNCkVORDpWRVZFTlQNCkVORDpWQ0FMRU5EQVI=

...然后弹出: