显然,Mountain Lion 10.8.2 Safari浏览器“支持” Passbook,因为它将预览并提供将“.pkpass”文件同步到iCloud,以供用户配置的iPhone加载到Passbook中。
但是,除了用户明确下载此类文件外,我没有找到任何有关如何使浏览器加载此类文件的文档。
理想情况下,应该有一个<link rel="alternate" type="application/vnd.apple.pkpass">
或类似标签,以便支持(适当配置)的浏览器可以选择并提供它。我找不到有关此功能的任何提及。
除此之外,还需要指导用户“单击此处”以下载pkpass,并希望破解他们知道它是什么以及如何使用它。否则,这是其“下载”文件夹中的不透明 Blob 。
显然,我不想明确地嗅探iOS 6或OS X 10.8.2及更高版本的用户代理,因为这也不会检查用户是否配置了iCloud,并且也排除了对PassWallet和类似Android应用程序的支持以及其他支持的浏览器。
最佳答案
显而易见的解决方案是为vnd.apple.pkpass内容类型包括一个Accept header 。这正是此标题的目的。
不幸的是,这不是由单个开发人员掌握的。
Microsoft对.Net Framework进行此操作,在其中他们将信息作为User-Agent的一部分发送。这样,您就可以检测到访客计算机上是否安装了.Net Framework。
OS X Lion在发出的所有浏览器请求中都应包含此 header ,iOS设备也应发送此 header 。
目前,您最好的选择就是概述的选择。如果UserAgent用于iOS或OS X Lion,则可以推断支持。这并不理想,但是您目前可以做到最好。