出于开发目的,我需要在我的机器上禁用 Safari(在 Windows 上)中的同源策略。
在 Chrome 中,这可以通过使用标志 --disable-web-security
启动来完成。 Safari 中是否有等效的标志或隐藏设置?
如果你想在 Safari 上禁用同源策略(我有 9.1.1),那么你只需要启用开发者菜单,然后从开发菜单中选择“禁用跨域限制”。
更高版本的 Safari 允许您禁用跨域限制。只需从 Preferences >> Advanced 启用开发者菜单,然后从开发菜单中选择“Disable Cross-Origin Restrictions”。
如果你只想要本地,那么你只需要启用开发者菜单,然后从开发菜单中选择“禁用本地文件限制”。
去,
Safari -> 首选项 -> 高级
然后在底部勾选在菜单栏中显示开发菜单
然后在开发菜单中勾选禁用跨域限制
不幸的是,Safari 没有等效项,并且参数 --disable-web-security
不适用于 Safari。
如果您有权访问服务器端应用程序,则可以修改 https 响应标头以允许访问。主要是 Access-Control-Allow-Origin
标头。修改它将允许 Safari 访问该资源。有关有用的响应标头的更多信息,请参阅 https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS#Access-Control-Allow-Origin。
Safari 9 中有一个选项可以禁用跨域限制,这与上面提到的本地文件限制不同。
这些答案中的大多数都是旧的。最新的 Safari 14.0.2(2021 年),有 Disable Cross-Origin Restrictions
选项,但是,如果路径有 ../../ 类型的路径名,它就不起作用;即使 Safari 正确解析为本地文件路径,它仍然不允许加载该文件,即使它存在。这是 Safari 14 中最近的一个错误,在 13 中没有发生。
对于将 iPhone 插入 Mac 并使用 Mac 的 Develop 菜单在手机上检查该网站的 iOS Safari 中调试网站的用户,如果 Disable Cross-Origin Restrictions
选项灰显,请按照以下步骤操作.
单击 Mac 上的 Safari 菜单
单击首选项...
单击“隐私”选项卡
取消对防止跨站点跟踪的复选标记
刷新手机页面
在您的计算机上贴一张便签,提醒您在完成工作后将复选标记放回原处
(在 iOS 15.3.1 和桌面 Safari 14.0.1 上测试)