我在我的网页中使用第三方脚本,该脚本具有在localstorage和indexeddb中存储数据的逻辑。存储的起源是我域中托管的网页的域。我想拥有存储逻辑所在的第三方脚本的域。这可能吗?
编辑:我应该更清楚:为什么indexeddb使用html页面的起源而不是javascript文件的来源,当它们被托管在2个不同的域中时?
答案 0 :(得分:0)
这是不可能的。 Cookie,localStorage或indexedDB资源被发送到已发布它们的域。它被称为同源政策
https://en.m.wikipedia.org/wiki/Same-origin_policy
请注意,如果您在域中使用第三方脚本,则会使用您域名的本地存储
要使用在辅助域(您控制的)中发布的localStorage,您可以使用其他域的嵌入式iframe访问资源,并使用postMessage与主域通信
请参阅http://blog.teamtreehouse.com/cross-domain-messaging-with-postmessage
在这个项目中,您有一个跨域SSO的完整示例,该SSO在几个域之间共享存储在localStorage中的身份验证令牌