【问题标题】:Html5 History Api - pushState from a domain to a subdomainHtml5 History Api - 从域到子域的 pushState
【发布时间】:2013-01-26 07:20:05
【问题描述】:

我有一个网站作为门户网站类型应用程序的登录和信息页面。

我需要指向门户的链接来触发一个漂亮地过渡到门户视图的动画(导航滑出,新的导航滑入,各种小部件淡出,新的小部件淡入等)。

但是,我还需要将网址从 www.mydomain.com 转到 portal.mydomain.com

我愿意不遗余力地拥有两者,加载门户的动画和作为子域的 url。

据我所知,这样做会违反安全政策并且不允许,但如果要重新加载,则无法实现到门户的流畅过渡。

有什么可以做的吗?或许可以通过某种方式在两个域之间建立显式信任。

【问题讨论】:

  • 当您尝试将状态推送到子域时,是否从 history.js 收到错误?
  • 我确实是。 SecurityError:操作不安全。
  • hmmm,看来你不能,因为它违反了同源政策。
  • 似乎有几种方法可以规避,@9​​87654321@。但是,我需要一个针对我的情况的权威答案,这样我就不会使用错误的方法并打开安全向量。

标签: html browser-history history.js


【解决方案1】:

这是不可能的。这是设计使然。没有例外。

来自Mozilla pushState documentation

新网址必须与当前网址同源; 否则,pushState() 会抛出异常。

【讨论】:

  • 那我评论中的链接描述了怎么做?
  • 是否提及pushStatereplaceState 或“历史API”?
  • 我真的希望将来有一种方法存在。没有理由不能像现在的 CORS 工作方式那样,通过读取对子域的预检请求的标头来验证访问权限
猜你喜欢
  • 2013-10-19
  • 1970-01-01
  • 1970-01-01
  • 2011-04-30
  • 2012-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多