发布于 1970-01-01 08:00
  • 3 个回答
    • 先说明点,清除dom和页面加载自然没有必然联系,不能说我操作了dom,我页面加载就不友好了。页面的友好性是通过交互实现。当然了,频繁大量的操作dom会带来性能问题,会延长页面的加载时间。

      先说明下实现

      要是我来做的话,会使用模板引擎如handlebars,拿到数据后渲染成html插入到dom中。如果使用了MVVM框架,只需要改变下model就可以了,但是大部分的框架还是如题主所说的粗暴方式处理的,angularjs除外。所以楼主不要纠结了,就得简单粗暴的干,关键是怎么粗暴的干,让人感觉不出来。

      再说下效果

      首先,在不同页切换时,加个loading的效果。
      其次,使用模板引擎管理你的html
      如果所有的产品不是一次性展示在页面上,使用图片懒加载
      请求过的数据要缓存下来,避免再次请求

      SEO

      如果要做SEO的话,这种方式是不可行的,因为你的数据都是通过js去渲染的,搜索引擎爬取你的链接时,页面内容都是空的,那怎么收录你的产品链接?
      刚咨询了我们的SEO工程师,国内搜索引擎还是以百度为主的,暂时还没办法执行js。为了SEO还是采用后端渲染的方式吧。
      除非你们产品有这么吊,那就像它这样

      2022-12-01 19:27 回答
    • 你提的这个问题是不是想问通过什么样的交互才能感觉起来更好?其实这个关键靠你自己的想象了
      可以这样,点击执行ajax的时候,把要替换的dom先用渐隐效果隐藏掉,然后弹出一个loading的提示,成功获取数据后,替换数据,然后loadding消失,dom显示
      获取数据有时候会很快,所以,在替换完数据后,延迟一下再进行交互,大约300ms就够了

      2022-12-01 19:27 回答
    • "柔和"主要靠的是交互细节,比如加载过程中的视觉反馈(进度条/菊花),加载过程中的交互(正在加载的时候做了其他操作怎么办?是mask蒙住,是中止之前的加载,还是操作无效并有视觉反馈“加载中请勿操作”?),以及加载时间过长时的反馈(类似gmail“加载比预期慢,是否切换到普通html版本” “仍在进行/重试”)等等

      2022-12-01 19:27 回答
    撰写答案
    今天,你开发时遇到什么问题呢?
    立即提问
    PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有