Safari 阻止 URL 请求凭据,因为它是跨域请求
Posted
技术标签:
【中文标题】Safari 阻止 URL 请求凭据,因为它是跨域请求【英文标题】:Safari blocks URL from asking for credentials because it's a cross-origin request 【发布时间】:2019-03-12 21:39:31 【问题描述】:由于 ios 12 Safari 阻止我的 url 请求凭据,因为它是一个跨域请求。 iOS 11 一切正常。所以我认为所有标题都设置正确。
控制台输出为:
Blocked *URL* from asking for credentials because it is a cross-origin request.
我在发行说明中找不到任何表明可能发生变化的内容。
https://developer.apple.com/documentation/safari_release_notes/safari_12_release_notes
你们中是否有人知道 Apple 在 Safari 12 中进行了哪些更改以提高安全性/阻止跨域请求请求凭据?
感谢您的帮助!
【问题讨论】:
Webkit 不允许跨域子资源请求凭据 trac.webkit.org/changeset/228486/webkit 但必须可以解决此问题... 【参考方案1】:将crossorigin
添加到脚本元素应根据this answer 解决此问题。
示例:
<script src="my-code.js" type="module" crossorigin></script>
另见https://developer.mozilla.org/en-US/docs/Web/html/CORS_settings_attributes
【讨论】:
以上是关于Safari 阻止 URL 请求凭据,因为它是跨域请求的主要内容,如果未能解决你的问题,请参考以下文章