首页 > 编程知识 正文

html不跳转切换网页内容,h5页面翻页效果

时间:2023-05-06 06:20:25 阅读:153324 作者:2064

以往的MPA

首先,说一种比较古老的东西,叫做MPA。

MPA的全名是多页面应用程序,意味着整个APP应用程序(站点)由多个完整的html组成。 用户在页面1上单击跳转,向服务器端请求页面2,请求成功后需要呈现。 当用户返回时,单击浏览器中的“上一步”,将页面恢复到上一个历史记录并重新加载。

在这种模式下,页面之间切换缓慢、不顺畅的问题尤为突出,尤其是在移动端。

同时,发生了几个小问题:

跳转视频:页面之间的跳转不能实现跳转视频效果。

如果上一页很长,当用户在页面下方滑动并单击时,返回时,页面默认不能停留在原始位置。

用iOS的右滑动返回时出现问题,从页面1跳到页面2,从页面2跳到页面3,用右滑动返回时,直接返回页面1的上一页。

SPA

随着移动终端体验需求的增长和技术的进步,另一种模式spa (单页面应用)逐渐成为主流。

SPA简单来说就是,原本在MPA中的多个html,现在被放入一个html中,分成几个片段。 跳跃、返回的本质是分段的“隐藏”和“显示”。 跳转不需要服务器端重复要求,页面和页面切换更快更顺利。

在这样的机制中,跳转和返回完全由代码控制,因此可以在代码中定义页面转换的效果和返回。

设计过渡动画时,必须注意导航栏是Native的还是HTML5的。 如果导航栏为Native,则HTML5页面不包含导航栏。 这相当于页面外的元素,不在过渡效果设计的范围内。

WebView

说起HTML5的跳跃,不得不说是WebView。 简单来说,WebView是用于在APP中显示web内容的容器。 前面提到的MPA和SPA都在这个名为WebView的容器中。

除了前面的两种方法之外,还有第三种方法可以让用户单击并跳转页面中的元素。 是新打开WebView的方法。 这样,跳转的本质是HTML5“告诉”Native,Native执行它以打开新的WebView并将页面加载到新的WebView中。

由于Native的机制,在打开新WebView的同时,以前的WebView将保持自然完整。 因此,以前的几个问题如下。

跳转视频:页面之间的跳转视频由WebView之间的跳转视频决定。

背页保留在原来的位置:得到完美的支持。

iOS右滑返回:完美的支持。

但是,请注意,打开新的WebView是一项资源密集型操作。 如果我们在设计流程时,需要连续使用这种方式,需要与研发同学充分沟通。

比较特殊的Replace

上述三种类型的跳转都生成历史记录。 MPA、SPA的履历为HTML5,在新WebView上的记录是在Native上产生的。

在MPA或SPA中,如果在跳转时使用Replace方法,则会用新页面替换上一页。 历史记录中没有上一页的记录。

这是一种特殊的跳跃方式,在设计几种不可逆的过程时可以考虑使用。

回滚多页

在了解了上述几种机制之后,让我们来看看一个小的应用场景——多页面回滚。

我们在实际业务中,经常有这样的需求。 假设您有一个由三个页面组成的进程: 1、2和3,页面3上有“完成”按钮,然后单击返回到页面1。 各种交互模式有不同的机制来实现这样的跳转。

SPA模式下的正常跳转

此模式有三个页面都在一个WebView上。 单击页面3上的“完成”按钮,返回-2,返回两个步骤的历史记录,进入页面1。

踩了很多洞之后,我给你总结一下这个H5互动的跳页方式

重新打开WebView

还有三种打开新WebView的方法。

如果将三个页面分割为两个WebView,则单击“完成”按钮将关闭自己所在的WebView,如下图所示。

踩了很多洞之后,我给你总结一下这个H5互动的跳页方式

同样会打开新的WebView,但是如下图所示进行分割会有点复杂。 这时,点击完成按钮,首先关闭自己所在的WebView,“意识到”页面2直到自己再次出现,就会自动回到页面1。

踩了很多洞之后,我给你总结一下这个H5互动的跳页方式

每次打开新的WebView时,此时单击“完成”。 回滚的本质是HTML5“告诉”Native关闭多个WebView。 需要特别注意的是,在HTML5中实现这种方式不是自然而然的,Native必须具有一次关闭多个WebView的能力。 所以,我们需要知道自己的Native是否有这样的能力。

踩了很多洞之后,我给你总结一下这个H5互动的跳页方式

总结

以上,简单叙述了几种HTML5的跳转方式。 这些跳跃方式没有绝对的正确和错误。 我们必须根据实际业务需求和技术限制来整体考虑解决方案。

根据个人经验,一些小帖子分享给大家:

对于前后逻辑不复杂的各个页面,可以考虑使用新的WebView打开跳转。

对于基于任务的流程,可以将任务流组合到一个WebView中,并在任务中使用SPA跳转。 每个任务使用不同的WebView。 明确任务之间的关系。

在设计上,需要重点表现页面间转移动画的效果,优先使用SPA跳跃。

尽量不要自定义关闭和返回行为,以免过程变得过于复杂。 将关闭维持为默认的关闭动作,将恢复维持为默认的恢复动作。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。