尽可能写"友好"的"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的图片大小自动适应实现代码
Nov 17 Javascript
javascript学习笔记(十五) js间歇调用和超时调用
Jun 20 Javascript
图片动画横条广告带上下滚动的JS代码
Oct 25 Javascript
JS来动态的修改url实现对url的增删查改
Sep 05 Javascript
AngularJS入门教程之AngularJS模型
Apr 18 Javascript
vue2.0之多页面的开发的示例
Jan 30 Javascript
基于vue-simplemde实现图片拖拽、粘贴功能
Apr 12 Javascript
JS实现计算小于非负数n的素数的数量算法示例
Feb 26 Javascript
vue使用微信JS-SDK实现分享功能
Aug 23 Javascript
JS合并两个数组的3种方法详解
Oct 24 Javascript
微信内置开发 iOS修改键盘换行为搜索的解决方案
Nov 06 Javascript
前端框架ECharts dataset对数据可视化的高级管理
Dec 24 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
农民C键的运用技巧
2020/03/04 星际争霸
php比较两个字符串长度的方法
2015/07/13 PHP
Laravel SQL语句记录方式(推荐)
2016/05/26 PHP
PHP获取当前执行php文件名的代码
2017/03/02 PHP
javascript当中的代码嗅探扩展原生对象和原型(prototype)
2013/01/11 Javascript
Javascript中的关键字和保留字整理
2014/10/16 Javascript
JS+CSS实现可以凹陷显示选中单元格的方法
2015/03/02 Javascript
使用Promise解决多层异步调用的简单学习心得
2016/05/17 Javascript
DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等)
2016/11/09 Javascript
原生JS实现隐藏显示图片 JS实现点击切换图片效果
2021/01/27 Javascript
深入理解Vue2.x的虚拟DOM diff原理
2017/09/27 Javascript
jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析
2018/07/25 jQuery
vue计算属性computed的使用方法示例
2019/03/13 Javascript
vue 获取元素额外生成的data-v-xxx操作
2020/09/09 Javascript
nuxt 每个页面head标签内容设置方式
2020/11/05 Javascript
Python lambda和Python def区别分析
2014/11/30 Python
提升Python程序运行效率的6个方法
2015/03/31 Python
python 回调函数和回调方法的实现分析
2016/03/23 Python
Java实现的执行python脚本工具类示例【使用jython.jar】
2018/03/29 Python
Django model序列化为json的方法示例
2018/10/16 Python
python pygame实现2048游戏
2018/11/20 Python
python url 参数修改方法
2018/12/26 Python
解决PyCharm不运行脚本,而是运行单元测试的问题
2019/01/17 Python
Python Pandas实现数据分组求平均值并填充nan的示例
2019/07/04 Python
python的range和linspace使用详解
2019/11/27 Python
flask 使用 flask_apscheduler 做定时循环任务的实现
2019/12/10 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
2020/01/25 Python
成人毕业生自我鉴定
2013/10/18 职场文书
一年级班主任寄语
2014/01/19 职场文书
工作疏忽检讨书
2014/01/25 职场文书
减负增效提质方案
2014/05/23 职场文书
销售员工作检讨书(推荐篇)
2014/10/18 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
私用公车造成事故检讨书
2014/11/16 职场文书
五一劳动节慰问信
2015/02/14 职场文书
离婚协议书范文2016
2016/03/18 职场文书