2011-10-17 62 views
1

我目前正在研究一个项目,我们使用一个半成熟的CMS。由CMS控制的部分网站在CMS后端不可编辑。因此,提供CMS的公司建议我们使用jQuery来处理这些页面上的HTML内容。使用JavaScript处理HTML内容是不好的做法吗?

对我来说这是一个坏主意 - 主要是因为我力求单独的内容,设计&功能。

这是一种在过去很好的理念 - 我发现如果遵循这些原则,更容易将网站版本升级到各种平台并实现良好的访问网站。

但我在寻找更多的弹药,例如这对SEO有什么影响? Google的蜘蛛能访问被操纵的内容吗?

有没有其他原因为什么用JavaScript处理HTML内容是不好的做法?

回答

3

我肯定会认为这不是最好的主意。

通常搜索引擎不会执行Javascript,并会读取预先更改的代码。

+0

这不就是搜索引擎的缺点吗? – 6502

+0

好问题6502 - 但对我来说,搜索引擎寻找最低公分母是有道理的。 – timkl

+0

@endyourif但是如果我在DOM加载之前加载JS,蜘蛛是不是会使用改变的代码呢? – timkl

1

我不确定我是否同意使用Javascript来修改页面是一个坏主意。 JavaScript的发展正是现在正是这样做的(包括一个标准化的DOM)。

当然,有些东西在Javascript中完全没有意义,比如完全验证(可能有一些预验证逻辑可以提供更好的用户体验,但服务器端必须始终执行所有检查)但“操纵HTML代码”本身并不坏。

显然它取决于您需要做的特定编辑。例如,如果您正在调整CSS,那么我同意使用Javascript进行此操作,因为CMS不允许它作为解决方案闻到非常糟糕的情况(例如,如果它们在CMS的下一次更新中触摸了页面生成,它将会中断)。

1
  • jQuery基本上是一个DOM/HTML操作库。大多数时候当你使用jQuery时,你正在操纵DOM。
  • 理想情况下,此类操作只能用于逐步增强用户体验。只要有可能,用户体验应该优雅地降级,以防他们不能或者不选择不运行你的Javascript。

我认为你必须问自己,

  1. 我使用的jQuery/JavaScript作为主要手段来实现我的网站内容?
  2. 我的站点至少在JavaScript关闭时的最小可用性级别?

如果第一个问题的答案是肯定的,而第二个问题的答案是否定的,我会回到绘图板。

0

这是一条很好的路线,但我不会说HTML操纵内容(也就是我的意思是布局和样式)是一种不好的做法。这是今天网络的MO,否则你的动态内容,所有这些滑块和旋转木马以及什么都不会仅限于CSS操作。

您的问题与使用JS操作HTML不同。你的问题是你操纵了一个第三方的HTML内容。如果明天他们将<span>更改为<div>,或将一个ID更改为另一个 - 您的JS可能会变得无用。

在你的情况 - 我会做很多不同的JS操作,但我不会基于一些更高的校长。

相关问题