网页重构,怎样才能快捷有效?

网页重构这个词已经被人们成熟地使用很多年了。可是现在依然发现,有这样那样的问题需要讨论和解决。至于我个人,目前在布局 Roclog v5 的默认模板时,会着重以下几点。

大型页面的脚本在需要的时候才调用:也许 W3C 的建议是把脚本、样式表等文件包含在 <head></head> 标签内部。这样对于小页面基本上没什么问题,不过如果是脚本运用很多的大型网站,几乎没有太多的时间来注意这些细节,而直接把脚本包括到头部标签里,可能会大大拖慢网页的的执行速度。虽然可以通过 AJAX 或其它优化技术来搞定这些问题,不过我自己的做法是,在重构大型网站页面的时候,在第一次使用需用到的脚本时才调入脚本,这样做快捷有效。

合理使用 class 和 id 进行布局:大家都知道,class 是可以用在多处的,而 id 是唯一的。但多个 id 也不会给布局带来麻烦,而且 class 和 id 都可以用于布局。不过我这里想和大家分享的是,尽量少地使用 id 来定义页面布局。有的脚本操作要用到 id 来寻找唯一的操作对象(jQuery 框架的选择机制除外),运用太多同样的 id 难免会给脚本编写带来麻烦。之所以,建议使用 class 来定义页面布局,id 来定义可操作的 DOM 名称。

给大家通报一下,Roclog v4 正在架构

本博客系统在不断的升华中,发现了原有的一些不足和需要改进的地方,因此准备在 Roclog v3.3 发布之后把全部精力都投入到 Roclog v4(以下简称 R4)的开发中,这将是个漫长的时期。

这几天已经在进行 R4 的架构,打算在今年内将架构全部设计完毕,年后就开始投入编写程序中。

现在已经确定的改变有下面的几个:

  • Roclog4.Basic
    • Roclog4.Basic.Core
    • Roclog4.Basic.Function
    • Roclog4.Basic.Provider
      • Roclog4.Basic.Provider.MyHashtable
      • Roclog4.Basic.Provider.MyHttpModule
      • Roclog4.Basic.Provider.Database
      • Roclog4.Basic.Provider.Language
      • Roclog4.Basic.Provider.Template
  • Roclog4.Page
    • Roclog4.Page.Default
  • Roclog4.Sub
    • Roclog4.Sub.Global
      • Roclog4.Sub.Global.Verifycode
      • ……
    • Roclog4.Sub.Usual
      • Roclog4.Sub.Usual.Article
      • Roclog4.Sub.Usual.Comment
      • ……
    • Roclog4.Sub.Manage
      • Roclog4.Sub.Manage.Article
      • Roclog4.Sub.Manage.Comment
      • ……
  • Roclog4.Compression
  • System.Data.SQLite

非主流也是一种新的文化

最近朋友翻阅了一组“反非”(不接受非主流的意思)的视频,看了之后,反非者说的也不是完全不对,不过感觉就是有些过激了。我从来都是个很开明的人,看待事物都是已乐观的心态,之所以我一直不对非主流产生过反感。

虽说不反感,不过有的非主流的人们就会让我很恶心。比如别人说一句话,然后紧跟着就说人家装逼什么什么的很偏激很刺激人的话,这样的非主流,我个人并不喜欢,相信除了骂人者,其他的人都不喜欢这样的行为。

另外一类,会把自己的作品,例如自拍、文章等发布出来让大家参阅。字体当然多数是大家都知道的“火星文”,则被说成是践踏中国古文化。

配对补全HTML标签的思路

之前在 Roclog 里用了一种笨办法:把主要内容和阐述内容作为两个内容来分别输入,也就载入了两个编辑器,占用了比较多的资源,后来虽然增加了后备载入,但是也有很多不兼容的问题。比如有的朋友的空间如果使用了后备载入编辑器就会出错,导致不能使用编辑功能,这是很麻烦的。

后来学习了慧杰老师的做法,在同个编辑器同时编辑阐述和内容,做法则是在中间插入一个符号而已。这个想法很不错,实现起来也不困难,逻辑上是没什么问题了。但是实现起来,并不是那么容易……特别是所见即所得编辑器,更是麻烦。

麻烦在于,如果我在一段还没结束的时候就插入了分隔符,那么阐述里面的内容就会缺少本来应该有的但是已经被忽略了的分隔符后面的标签,这个可能导致有阐述输出的页面的布局出错。如果是 PHP,则有一个函数是可以直接把缺少的标签智能解析及配对出来,但是对于 C#.net 来说并不是那么容易,因为它没有直接可以这么做的方法。由于我正则不是很好,写不出很复杂的配配对正则,所以没办法只有使用笨办法了:首先把阐述的不带结束符号“/”的标签名字取出来(重复的就不取第二次了),然后用这个取出来的数量减去带结束符的标签的数量,得出的就是缺少的数量。然后再依次在末尾加上缺少的结束符。

新的模板引擎

现在,大家看到的官方网站已经脱离了 StringTemplate 引擎,运行在自己的引擎下了。效率还没有测试,不过脱离了外部引擎的感觉真是好啊。

最近正在尝试自己写一个模板引擎,虽然可能没有外面已经有的模板引擎强大,不过毕竟是自己的东西。

研究数据关联及读取(多表查询)

最近,由于工作的需要,抽空研究了一下数据关联的取得方法。由于自己在之前都是用函数取得,可是一直没注意如果套用在循环里的话,就会反复打开、读取、关闭数据库,效率低下!

那么,我之前的罪状就先不说了,哈哈!这次的研究,我主要是针对 Access 2000 这类数据库进行研究。基本上所有的数据库都可以用:

  1. SELECT 表1.字段1, 表1.字段2, 表2.字段1  
  2. FROM [表1], [表2]  
  3. WHERE (表1.字段2 = 表2.字段1) 

的语句进行数据库表的条件关联之后取出数据。但是需要注意的是,对于 Access 来说,可以用“*”来代替,但是要这样做的话有个前提,那就是数据库的字段都不能一样。虽然如果一样的话在现实情况下不会出错,但是取得的字段值却有可能不是理想的。

研究了一下后备载入

自从使用了 FCKeditor 的 Roclog 发布以来,可能听到的反馈就是载入太慢了。不过还好现在的网络带宽还不至于载入不成功,不过如果真是遇到网络掉线或者其它情况,大概有编辑器的页面就会死掉。

某一框架里的全部图片自动判断比例缩小的脚本

有很多朋友在网站的设计中常常会遇到一些问题(我说的是初学者,高手们就不要再鄙视了),例如将某一个层里的全部图片,如果大小超过了所需要的范围就会自动缩小。

这个问题我看到很多朋友是用 CSS 来定义 max-width 和 max-height 来实现的。这样虽然是最简单的方法,但是也免不了有时候会失效或者不兼容的情况。怎么办呢?除了自定义大小以外无疑只能用脚本了。

从 Roclog 的开发到现在,细心的朋友都可以发现在每个主题包里都有一个控制某一区域图片大小的脚本,我们现在就来研究一下。

1/3, 23«123»

Powered by Roclog v5.0.24.0

Copyright © 2009-2010 Roclog 官方网站. All rights reserved.

滇ICP备09002287号

本站带宽资源由风云互联提供, 统计由提供