在调试为什么我的扩展在Safari中不起作用(但对其他浏览器不起作用)时,注意到我可以在Safari工具栏扩展中使用XmlHttpRequest发送任意组成的HTTP标头。但是尝试使用与以前相同的内容命名为“Cookie”的标题,它不会被发送。
Safari是否限制使用请求发回cookie,或者您需要遵循其他流程来执行此操作?看起来有点蹩脚,因为这会阻止需要会话状态持久性的应用程序的功能。如果有一个替代流程,Apple会更难在扩展中维护会话状态(在调整Web应用程序或其他浏览器扩展时需要额外的工作)。
我在使用Charles代理的Mac OS X 10.7.5上使用Safari 5.1.7进行了测试。
答案 0 :(得分:1)
我想应该发布一个对我有用的解决方案,我之前在自己的问题中发表了评论,以便更容易查看有类似问题的其他人:
原来对于Safari扩展,对我来说有用的是将浏览器设置为不阻止任何cookie和网站数据。因此用户必须这样做才能使用扩展程序。无需更改代码。但这并不酷。
特定步骤为Safari > Preferences > Privacy > Cookies and website data: Always allow
(至少在Mac OS Yosemite上的Safari 10下)。虽然可以尝试“允许我访问的网站”来查看更具限制性的选项是否有效。