最热门文章

常用标签

云输入法 好的站点 数据之美 数据库优化 网站优化 网页安全 跨浏览器 输入法 重构 页面优化 Android CSS css优化 facebook firebug HTML html重构 html5 HTTP协议 http历史 ie javascript Last Modified lighttpd linux linux后台开发 MYSQL mysql优化 netstat ping QQ QQ云输入法 QQWeb输入法 web web开发 Web服务器 web服务器配置 web设计 WEB颜色 xhtml

Posts Tagged ‘xhtml’

HTML重构读书笔记-上线运营吧

前面我们已经将html代码写的合乎语法,具备语义,能够在很多环境被较好的解释。 我们觉得说可以上线了,但是上线之前我们还需要来衡量一些其它的因素,如系统的安全性、性能考虑、页面的内容是否正确等。 上线前,我们还需要好好的检查代码里的如下这些方面: 1 需要安全考虑的HTTP请求,使用POST来替换GET方式。考虑一下:搜索引擎来请求会怎么样,用户访问一个超时的连接会怎么样? 2 替换可以通过GET方式获取的地方为GET。GET方式通过URL而不一定要是form来访问,能够回退、cache、预先抓取、收藏。需要注意参数长度有限制 3 在不怎么变化的情况下使用cache,在易变的情况下关闭cache,如果变动实在太频繁的话,需要使用etag来辅助缓存 4 flash使用时需要注意会牺牲一部分用户 5 适当的时候将联系表单更改为mailto,方便用户直接发邮件进行交流 6 设置适当的robots.txt规则来阻挡一些无谓的请求。 User-agent: * Disallow: /cgi-bin Disallow: /store/checkout User-agent: Googlebot Disallow: /staging Disallow: /experimental 环境已经搭好了,我们还需要做什么呢? 呵呵,我们还需要检查一下页面内容是否都是正确的: 1 流畅的内容表达,避免误拼。尽量避免一些带有歧义的表达,错别字等 2 删除那些失效的连接,可以使用这两个工具:http://validator.w3.org/checklink http://www.linklint.org/ 3 如果删除了页面,尽量提供跳转给用户到新的页面上来,或者统一的给用户提示。 RewriteEngine On RewriteOptions MaxRedirects=10 inherit RewriteBase   / RewriteRule   ^examples(.*) books/jdr/examples$1 [R] 4 将内容尽快的展示给用户,而不是让用户自己去导航。尽量少弄欢迎页这样的东东 5 对于一些敏感信息,如email这样的,尽量的隐藏起来,避免一些恶意的爬虫来爬取 <a href="mailto:elharo%40metalab%2Eunc%2Eedu">E-mail Me</a> 呵呵,上述都已经检查好了,跑一遍测试用例,在预发布机上进行一次校验,没有问题后,上线吧。

Posted in Web前端
Tags: , , ,

HTML重构读书笔记-让html的语义话

学习完html的语法后,我们按照html的语法来撰写html代码,是否这样的代码就是最好的代码了呢? 呵呵,xhtml中规范了各个标签更多的语义性,关注完语法后,我们需要根据实际的语义来使用合适的html标签, 从而使得我们的代码具体更多的适用性,不仅能够被桌面浏览器阅读,同时能够被盲人阅读器阅读、同时能够在 一些手机终端上被较好的阅读、以及搜索引擎很好的解释等等。 接下来,我们让html代码语义话起来: 一方面,我们从布局来让html语义起来: 表现和内容相分离。DIV+CSS的使用。注意按照百分比来设置宽度。让不同大小分辨率的用户能够受益。 1 尽量将内容DIV写在最前面,最重要的放在最前面。(跨越侧边栏、顶部、底部) 2 尽量少的使用frame。对用户而言,添加书签、导航、滚动条、标题栏都会因frame的使用带来麻烦。对于robot,frame显得很不用好,常常会索引到某一个子页面。 3 在列表的地方尽量使用ul、dl或者ol。(dl一般用于键值解释的情况下) ul li:after { content: ", "; }在每一个列项后面加上一个,号(ie下没有效果)。 4 需要标识的元素尽量分配一个独立的id给他们,如<div id="content"></div><div id="menu"></div>。 5 尽量给每个img标签都设置宽和高。浏览器渲染会更快一些。 另一方面,我们让html语义代码更多兼容不同的环境: 1 盲人阅读: 替换img为h文本。尝试使用背景图 2 为form表单的非隐藏的输入项增加label标识,如input、textarea、select等 3 为form表单中的每个输入项取一个有意义的名字 4 合适的话,尽量去掉表单的自动回填。autocomplete=”off”。自动回填能够减少一定的输入工作量 5 为表单中可编辑的项设置对应的tab快捷键。这样的话,方便通过键盘就能直接进行连续的输入。a、area、button、input、object、select、textarea支持tab键属性。 Tabindex的值从1到32767(有符号的short),溢出从1开始算起 6 为视觉障碍者在页面的顶部提供一个锚结点直接到内容部分,从而能够轻松的跳过导航这些部分的内容。 7 页面内容过长时,通过h1~h6来组合标题便于阅读。 8 表单输入项尽量弄大一些,方便输入。一些textarea尽量高一些,宽一些,少来点滚动条。 9 为table增加描述信息。合适的话,为table增加一个summary属性,一个caption标签,通过th来增加列说明。 10 使用abbr和acronm标签来表示缩写 11 使用lang属性来标识每个根节点的语言 <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US"> <body> <p>Pierre shouted, "<span lang="fr" xml:lang="en-US">Vive la France!</span>" </p> </body> </html>

Posted in Web前端
Tags: , ,

HTML重构读书笔记-熟悉html的语法

了解了一些html的基本语法后,我们需要在事件中来强化理解,从而加深影响,以后使用起来就会更加的得心应手。在实践中会有一些更多的细节的地方需要我们自己去斟酌和考虑。 了解html基本语法后,我们需要实践来学习html的语法,从而加深理解: 1 为了兼容,使用transitional的DTD来对文档进行校验。 2 删掉已经不再支持的一些标签。如sound、marquee等。 3 为每个img标签都加上一个alt标签。方便那些视觉障碍,或者兼容后续的一些语音浏览器、google、baidu等一些图片搜索更多会依赖alt属性来表示一张图片。 4 使用object标签来替换embed标签。Embed标签不是标准的,虽然同时可以存在任意多个属性,然而Object可以通过param来传递属性 <object         width="160" height="600">   <param value="sameDomain" />   <param value="banner.swf" />   <param value="high" />   <param value="#006699" />   <embed src="banner.swf" quality="high" bgcolor="#006699"          width="160" height="600"          align="middle" allowScriptAccess="sameDomain"          type="application/x-shockwave-flash"   pluginspage="http://www.macromedia.com/go/getflashplayer" /> </object> 为了兼容一些老的浏览器,可以在object里面写上embed标签来做兼容。 5 尽量使用strict的DTD。由于strict的DTD删除了一些遗留的表现元素的标签,需要做一些圆润的处理:                1) center用css来取代text-align:center                2) font用css来取代font-size、font-family、color                3) 替换i标签为em或者span。由于i标签更多是表现而无语义,所以在一些无显示的浏览器上并没有效果。                4) 替换b为strong或者span                5) 使用css属性来替换color属性                6) 将img标签中的诸多属性移动到CSS中来                7) 替换applet为object                8) 用css来表示big, small, strike, s, ...

Posted in Web前端
Tags: , , ,

HTML重构读书笔记-为什么要重构

读了一次HTML重构Refactoring HTML,正好最近在搞一些html重构方面的东东,边度边思考,有一些收获,记录一下,便于以后来查询。 大家都可能会想html这么简单的一个排版的东东,有什么需要重构的呢?html的重构会有一些什么具体的东东呢? 开始之前,自己总结的几个概念。 重构的反面不是不重构,而是重写。重构的目的是为了更方便的进行重构。 重构的几个关键词:系统 一部分 调整 更好 可预期 可控 重构:是在一段可预期的时间内可控的对系统的一部分进行调整,从而使得系统的效率变得更高的过程。 为什么要重构? 1 代码可读性很差。Css和html混合在一起 2 渲染很慢 3 浏览器不兼容 4 页面需要一些不太流行的技术,如silverlight,flash等 5 安全性差。可能被人引发xss漏洞 6 SEO太差,被搜索引擎索引在很后的页面 7 用户的抱怨  重构些什么? 1 XHMTL 2 CSS 3 REST XHTML 1 良好的格式,减轻浏览器容错的工作。 2 减少跨浏览器编程js和css调试的时间。 3 可以使用一些新的技术,如SVG、MusicXML等。HTML更多关注文本和图片。 CSS 1 样式和展现分离,相同的内容可以在不同的平台上展现,如手机平台,台式机平台。 2 抽象出来的样式可以四处可用。减少工作量。DRY,Don't Repeat Yourself. (常用的reset.css) 3 抽象出来四处可用,节省带宽。 REST: Representational State Transfer深入理解http协议 关注:Form、UA用户验证、Cookie、回话、状态 1 通过URL来定位资源: 如通过http://www.example.com/foo/bar来回去资源,总比说到 http://www.example.com/,然后在表单中输入bar,然后点击foo按钮会好一些。 2 在合适的地方(譬如无安全问题、查询、收藏夹)尽量使用GET方式的请求。 3 在需要安全验证如买东西,发表评论的地方使用POST方式。 4 每一次请求都是唯一的,客户端和服务器的状态各自独立,互补依赖,每次需要的信息通过通讯时带上来获取。无状态的服务能够提供cache以及扩展的方便性。


[转](x)htmldtd说明

之前搞了一篇dtd中各个元素嵌套说明,后来找到了一个详细的关于dtd的解读,感觉不错,转载之,备查阅。 转载过来的效果不是很好,建议大家查看原文:http://www.cssforest.org/wiki/index.php?n=Cssforest.Xhtmldtd XHTML 1.0 Transitional XHTML 1.0 Strict XHTML 1.0 Frameset Tag Index (标签索引) A a | abbr | acronym | address | area B body | b | br | bdo | big | button | blockquote | base C code | cite | caption | colgroup | col D dfn | dl | div | dt | dd| del E em F fieldset | form H html ...

Posted in Web前端
Tags: ,

(x)html中dtd说明的嵌套规则

之前写html的时候,发现一些block的元素写在inline里面会报错,不合乎xhtml的规范,后来就找到了一篇关于xhtml中dtd说明的关于各种类型元素的嵌套说明,才明白其中的原因。 翻译自:http://www.cs.tut.fi/~jkorpela/html/strict.html 再说明:曾经遇到过title标签中有一些特殊字符如</t>导致title标签在一些浏览器如ie下页面的内容无法渲染,出现一个空的页面。 查看了dtd说明才知道title标签中使用的是#PCDATA类型的内容。#PCDATA要求是需要对html的字符进行转义的,如>需要转义为&gt; 对于阅读dtd的说后说到的#CDATA,这个东东一般而言是任意字符,不过在一些特殊的场合它会有不同的表现,具体可以查看:http://www.flightlab.com/~joe/sgml/cdata.html 关于html中block和inline类型元素的说明: <!-- HTML has two basic content models: %inline; character level elements and text strings %block; block-like elements e.g. paragraphs and lists --> HTML HEAD TITLE (required) SCRIPT, STYLE CDATA BASE, META, LINK (empty) OBJECT ...

Posted in Web前端
Tags: , ,