在未来,百度搜素将基于域名、Iframe 渲染问题,为开发者带来 Navigation Transition、Promotable Iframe、Portals 及 Web Packaging 新标准,带来最流畅的体验。
Navigation Transition:页面切换的交互方式。解决了跨域问题,没有 Iframe 渲染的历史包袱。不过前一个页面依然不能控制后一个页面的加载、渲染。iframe 可以提前加载,但是 Navigation Transitions 一定要在用户切换的时候加载。
Promotable Iframe:与 Iframe 相关,核心代码是 Promotable 的 API,只要调用 Promotable,就会调动页面的一小块,而后调动整个页面及内容。但是这种方法涉及一些生命周期的管理和 JS 的回收问题,是不够安全的实现,而且这样没有解决 CDN 的问题,依然需要改域名。
Portals:传送门,将一个页面传送另一个页面。这个标准是 Promotable Iframe 的增强,引入了一个新的 HTML 标签 portal,这个标签用来替代 Iframe 显示一块网页,写法和 Iframe 类似。但是它比 Iframe 多一个功能,就是可以通过 “active” 方法激活它。与此同时, portal 的子文档会收到一个 portal zactive 事件,事件中可以拿到它的上级元素,这样又可以把上级元素当成一个 portal 插入回自己的文档流,使得页面切换回去成为可能。
Web Packaging:解决了 CDN 跨越问题。这个标准包括三方面:签名、打包、加载。如下图,左边内容提供者是站长,缓存的 CDN 类比 MIP 的 CDN ,右边是访问用户,用户浏览我们百度搜索结果页的时候,通过 MIP 的 Cache CDN 提前把数据取过来,用户真正点击的时候,直接从刚才取回来的页面去加载它。由于内容本身是内容提供者提供的,所以他可以对于自己 URL 进行签名。有了这个签名且签名有效的时候,浏览器可以自己显示原始的网址,同时原始的网址可以和原来的服务器进行交互,像通过原网址打开的一样,解决了 CDN 跨域问题。
加油,我们是最棒的 |
|