Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] mip iframe & shell 向 2.0 迁移 #2

Closed
7 tasks
oott123 opened this issue May 31, 2018 · 0 comments
Closed
7 tasks

[WIP] mip iframe & shell 向 2.0 迁移 #2

oott123 opened this issue May 31, 2018 · 0 comments

Comments

@oott123
Copy link
Member

oott123 commented May 31, 2018

MIP 2.0 支持在站点页面内无缝原生地切换页面。页面体验与之前 MIP1.0 在搜索结果页打开的体验对齐 (参考 MIP 官网的预览效果),即:点击任意链接后,马上出现一个新页面侧滑进入当前页面,并显示头部和 loading;加载完成后保留头部、取消 loading。

在搜索结果页 superframe 环境下打开时,我们依然沿用这一行为:MIP 站点的页面之间切换(内链),仍然由 MIP 2.0 的核心代码管理并组织;而在站点之间(外链)切换或者调起百度搜索相关服务(登录、支付等熊掌号能力)的时候,则交由 superframe 控制。

为了讨论简单起见,我们首先讨论内链的行为。

内链行为

  • 内链需要在百度搜索结果页内有平滑的切换交互效果(under iframe,待测试)。
  • 内链切换需要在非百度搜索结果页环境下拥有平滑的交互效果(现在好像是头部瞬间变化,底下做动画,需要一起动画过来)。
  • 切换之后,若页面本身是在搜索结果页环境下打开的,那么需要修改路由行为,以便在刷新之后也能保持历史记录:
    • 内部路由使用 replaceState 而不是 pushState 修改 url
    • 将修改后的 url 传递给 superframe,由后者通过 pushState 修改浏览器上的 url
      • 需要双方确定 api
      • 需要双方开发联调
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants