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


Posted in Javascript onJanuary 09, 2007

在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来处理。

Javascript 相关文章推荐
jQuery Ajax 全解析
Feb 08 Javascript
js/jQuery对象互转(快速操作dom元素)
Feb 04 Javascript
JavaScript中的toLocaleDateString()方法使用简介
Jun 12 Javascript
javascript运动详解
Jul 06 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(下)
Oct 28 Javascript
基于JavaScript实现随机颜色输入框
Dec 10 Javascript
js实现悬浮窗效果(支持拖动)
Mar 09 Javascript
JS实现为动态添加的元素增加事件功能示例【基于事件委托】
Mar 21 Javascript
vue项目打包部署到服务器的方法示例
Aug 27 Javascript
深入理解 Koa 框架中间件原理
Oct 18 Javascript
详解如何实现Element树形控件Tree在懒加载模式下的动态更新
Apr 25 Javascript
vue移动端屏幕适配详解
Apr 30 Javascript
添加到收藏夹代码(兼容几乎所有的浏览器)
Jan 09 #Javascript
Web版彷 Visual Studio 2003 颜色选择器
Jan 09 #Javascript
一个对于js this关键字的问题
Jan 09 #Javascript
JS控件autocomplete 0.11演示及下载 1月5日已更新
Jan 09 #Javascript
根据分辩率调用不同的CSS.
Jan 08 #Javascript
如何用javascript判断录入的日期是否合法
Jan 08 #Javascript
[IE&amp;FireFox兼容]JS对select操作
Jan 07 #Javascript
You might like
PHP 面向对象 PHP5 中的常量
2010/05/05 PHP
php学习笔记 面向对象中[接口]与[多态性]的应用
2011/06/16 PHP
ThinkPHP CURD方法之data方法详解
2014/06/18 PHP
PHP限制HTML内容中图片必须是本站的方法
2015/06/16 PHP
Prototype 学习 工具函数学习($方法)
2009/07/12 Javascript
javascript 数据类型转换(parseInt,parseFloat)
2010/07/20 Javascript
myeclipse安装jQuery插件的方法
2011/03/29 Javascript
jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
2011/10/16 Javascript
NodeJS中利用Promise来封装异步函数
2015/02/25 NodeJs
基于jquery插件实现拖拽删除图片功能
2020/08/27 Javascript
Node.js检测端口(port)是否被占用的简单示例
2016/09/29 Javascript
jQuery实现自动调用和触发某个事件的方法
2016/11/18 Javascript
Bootstrap基本组件学习笔记之input输入框组(9)
2016/12/07 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
2016/12/08 Javascript
node.js的事件机制
2017/02/08 Javascript
js HTML5 canvas绘制图片的方法
2017/09/08 Javascript
webpack打包js文件及部署的实现方法
2017/12/18 Javascript
webpack 插件html-webpack-plugin的具体使用
2018/04/09 Javascript
vue.js使用v-pre与v-html输出HTML操作示例
2018/07/07 Javascript
用Vue.js方法创建模板并使用多个模板合成
2019/06/28 Javascript
17道题让你彻底理解JS中的类型转换
2019/08/08 Javascript
让mocha支持ES6模块的方法实现
2020/01/14 Javascript
JS函数进阶之prototy用法实例分析
2020/01/15 Javascript
Python中str.format()详解
2017/03/12 Python
疯狂上涨的Python 开发者应从2.x还是3.x着手?
2017/11/16 Python
Python学习笔记之函数的参数和返回值的使用
2019/11/20 Python
Django自定义YamlField实现过程解析
2020/11/11 Python
Currentbody澳大利亚:美容仪专家
2019/11/11 全球购物
华为消费者德国官方网站:HUAWEI德国
2020/11/03 全球购物
大学生工作推荐信范文
2013/12/02 职场文书
2014年机关植树节活动方案
2014/02/27 职场文书
教师评语大全
2014/04/28 职场文书
护士节演讲稿开场白
2014/08/25 职场文书
武夷山导游词
2015/02/03 职场文书
药品销售员2015年终工作总结
2015/10/22 职场文书
2016年母亲节广告语
2016/01/28 职场文书