javascript - 完全由javascript生成的网站布局是错误的吗?

标签 javascript jquery html

<分区>

我目前正在做一个项目,并且用 Javascript 编写了整个页面。

我创建了一个基本函数:

create_element(parent, type, style, attributes);

示例用法:

var container = create_element(document.body, "div", {width: "100%", height: "100%"});
var header_bar = create_element(container, "div",  {width: "100%", height: "50px"});
var title_span = create_element(header_bar, "span", {fontSize: "18px", fontFamily: "arial", color: "black"});
title_span.innerHTML = "Example Website";

等等……

我将这种方法用于网站的整个布局。使用这种方法有很大的缺点吗?一个显而易见的事实是,可能仍然存在禁用 JS 的人。

如果 Javascript 创建和呈现项目而不是将它们硬编码到 HTML 中,页面加载时间是否有明显差异?

谢谢!

长话短说 -

创建了一个 create_element 函数,并用它来将所有元素绘制到屏幕上。包括页面的基本布局。

最佳答案

当您尝试动态生成非动态内容时,您会遇到许多问题:

  1. 可维护性将变得非常困难。如果您想彻底改变您的网站,您将不得不编辑 JS,而不仅仅是更改 CSS 或一些 HTML。
  2. SEO - Google 无法为动态数据编制索引。如果您希望通过搜索引擎找到您的网站,这并不好。
  3. 你正在混合图层。通过不分离关注点(您的观点与您的内容与...),您再次增加可维护性问题并为您 future 的自己或将来必须接触您的代码的其他开发人员制造问题。

现在,进行一些动态生成并没有错 - 但要适本地进行。我强烈建议不要为整个站点动态生成内容。

根据对原始问题的评论更新

那太好了,你喜欢 JS。而且,我绝对同意 HTML 可能有点无聊。但是,如果你正确地分离了你的关注点,你真的应该只需要写很少的 HTML,并且可以很快回到你喜欢编码的地方。但是,要小心,你不要试图强制一种语言适应它不喜欢的东西当创建另一种语言来完美地做到这一点时,就应该这样做。 (锤子/钉子规则)

另外,不要忘记 HTML5 和 CSS3 非常强大。您可以用它做很多事情,甚至不必接触 JS(假设满足客户需求)。

关于javascript - 完全由javascript生成的网站布局是错误的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11761005/

相关文章:

javascript - 我如何向 UI 设计师证明 2 个 div 具有相同的高度和垂直位置?

javascript - 如何跳过一些 Javascript 事件?

javascript - 当禁用视频时 Opentok 显示网络摄像头已打开

javascript - 简单设置关闭显示 : none/block with javascript

jquery - 在 jquery select2 中更改文本 "searching"

css - 响应式 CSS - 多个文件只有一个工作

javascript - 如何将 .jsx 文件中的绝对路径更改为相对路径。 (Photoshop 扩展脚本)?

javascript - 禁用/重新启用 javascript webui-popover 时遇到问题

jQuery ajax 调用接收文本/纯文本

html - 我可以阻止 100% 宽度的文本框超出其容器吗?