当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 尽可能写"友好"的"Javascript"代码

Javascript
兼容firefox的文本框只能输入两位小数的数字的代码
javascript 年月日联动实现核心代码
JavaScript 图片预览效果 推荐
JavaScript是否可实现多线程 深入理解JavaScript定时机制
jquery 表单取值常用代码
javaScript 删除确认实现方法小结
javascript强制弹出新窗口实现代码
Js倒计时代码,当鼠标离开页面与回到页面会自动停止与开始
Div+Js实现的带阴影菜单 微软以前网站曾用过
纯CSS实现的当鼠标移上图片添加阴影效果代码
JavaScript 未知高度元素垂直居中实现代码
javascript 仿开心网好友印象功能(点击文字弹出印象框)
JS+CSS实现的一种交互体验 表单页面
js 效率组装字符串 StringBuffer
window.js 主要包含了页面的一些操作
关于Aptana Studio生成自动备份文件的解决办法
javascript下arguments,caller,callee,call,apply示例及理解
HTA版JSMin(省略修饰语若干)基于javascript语言编写
CSS+Jquery实现页面圆角框方法大全
js 页面刷新location.reload和location.replace的区别小结

尽可能写"友好"的"Javascript"代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-10   浏览: 147 ::
收藏到网摘: n/a

在Search Engine的robot搜索时,针对的type,text/html此类“文本”的友好度是最高的(现阶段text/xml除外),而text/javascript此类的友好度不理想,如果robot还要判断DHTML代码的话,那这个复杂度也是较高,而且划不来
因此,在DHTML编程时,如果要提升代码的友好度。采用的方法,较好的方法是“尽可能是把DHTML的代码简化成没有HTML的代码”。这句话如何理解?
e.g:
一个javascript menu。
方法一、采用常规的编程方法:
<script type="text/javascript">
var navi_menu = neverDHTMLmenu();
/* addItem method
* @ pid
* @ id
* @ text
* @ href
*/
navi_menu.addItem("0","1","home","http://www.never-online.net");
navi_menu.addItem("0","2","blog","http://blog.never-online.net");
navi_menu.addItem("0","3","music","http://www.never-online.net/music");
navi_menu.init("navigator_Container");
</script>
二、采用对Search Engine较友好的编程方法
复制代码 代码如下:
<script type="text/javascript">
onload = function() {
var config = {
container: document.getElementById("navigator_Container");
// and more configuration code
}
var navi_menu = new neverCssDHTMLMenu(config);
navi_menu.init();
</script>
<div id="navigator_Container" class="navigator_menu">
<ul>
<li><a href="http://www.never-online.net">home</a></li>
<li><a href="http://blog.never-online.net">blog</a></li>
<li><a href="http://www.never-online.net/music">music</a></li>
<!-- more... -->
</ul>
<div>

从方法一和方法二来比较,方法一把一些HTML封装到了neverDHTMLmenu()里,但这样做并没有实际的好处,虽然我们依然可以把CSS给到这个类里。
方法二中可以看到有很多好处,比如,可以将view与program分离,可以实现客户端的MVC。换个角度说,可以提高开发效率。
可能有些朋友会问,除了menu,还有哪些程序可以按上述的方法分离呢?
上面也提到了,一般与页面交互较多的,会产生大量的HTML的,会影响Search Engine的robot的,都可以采用这种方法,当然了,这些只是讨论对Search Engine的友好度,所以,任何代码都必须由实际情况而定。
也或者有朋友问,这样为何会提高开发效率?
比如,美工做好模板后,(假设此美工会一些相关的HTML编写)那么按照xhtml标准,(如上例如示)
假设我要把原本的home改成Default page,那么美工得和程序员沟通,说要改这个menu的字,沟通时间在开发中也会多了。因此,在开发进度上,这个时间要算进去的。假设要改模板了,那么还得沟通。再或者假如原来用js生成的HTML是table做成的menu,要改版了,那么这个程序还得改写。不利于维护...
这个方法建议大家可以试试,意思主要就是JS负责业务实现,而视图则仍然交由HTML来处理。