返回信息流我在做一个写手机页面的项目,看别人写的代码,发现index文件的源代码只有一个div标签,其他的标签全是JavaScript动态生成的。。。。我有点疑问,这样页面加载的时候相对于html标签组成的网页会不会比较慢?现在这种写法多么?
这是一条镜像帖。来源:北邮人论坛 / www-technology / #36148同步于 2016/5/13
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
关于手机网页的一些疑问
hyqdvd
2016/5/13镜像同步12 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
首先有个小疑问: 你看到的是写那个代码的人直接分享的代码还是自己从网页上分析出来的. (就是确认确实是开发者这么写的, 还是因为你的错误分析以为他的这么写的)
这样的坏处有
1. SEO 会很差
2. 如果 js 禁用了, 那网页就没了
3. 用 js 生成代码比直接写慢. 而且如果 js 是进行一些运算再写进去就更慢了, 如果是多次操作 dom 就更慢了, re-layout 次数就很多
想到这么做的可能原因
1. 框架. 一些框架生成的代码里会自动把所有内容套在一个 div 里, 不过我还真不清楚有什么框架是要求你在 html 里啥都不写... (我了解不多)
2. 如果是个不是很熟练的前端开发者写的, 有可能是为了实现一个页面载入多个不同的分部分, 用了这种方法. (实现 php 中的 include)
3. 为了避免 flash of unstyled content. 等 css 载入完, 载入了 js, 再写入 html, 这样能避免出现 fouc (不过有更多更好的方法, 考虑 no-js 等情况的解决方案)
4. 手动实现模板的功能. 页面内容是动态生成的, 想用 js 运算后生成. 或者整个页面都是用 template engine 写的. (感觉也不是个很好的做法)
推荐
我认为还是以 html 为根本, 渐进开发. 考虑无 js, 无 css 的情况开始, 然后加入 css. 尽量减少使用 js 生成 dom. 需要运算的用 template engine. 如果可以最好还是后台生成网页, 然后直接传给浏览器, 而不是让浏览器自己用 js 生成 dom.
我经验优先, 仅是我的个人见解, 可能有些地方还是说的不对.
js被禁用的话 多少用到requirejs的项目直接完蛋
【 在 AlstonLYG 的大作中提到: 】
: 什么意思..? 我说的有什么问题吗? 我都是从自己的经验和理解说的.
:
: 【 在 dcy0701 的大作中提到: 】
: : 同学 书看多了吧...
:
:
发自「贵邮」
是啊, 有什么问题吗. 我有否认这个问题吗? js 禁用了那必然很多页面就完蛋了啊.
我只是说这样的做法 (lz 提问的这种以及完全 requirejs 的) 确实会存在如果 js 禁用了就没法使用了, 是一种不好的用户体验.
不知道这位大神是多么牛逼, 上来就鄙视别人读书多了. 也没有提出什么高见.
【 在 LeeSir 的大作中提到: 】
: js被禁用的话 多少用到requirejs的项目直接完蛋
:
: 发自「贵邮」