尽可能写"友好"的"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 相关文章推荐
JS正则表达式大全(整理详细且实用)
Nov 14 Javascript
基于jQuery 实现bootstrapValidator下的全局验证
Dec 07 Javascript
js console.log打印对像与数组用法详解
Jan 21 Javascript
javascript每日必学之运算符
Feb 16 Javascript
Bootstrap图片轮播组件使用实例解析
Jun 30 Javascript
AngularJS入门教程之XHR和依赖注入详解
Aug 18 Javascript
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
Dec 14 Javascript
javascript如何用递归写一个简单的树形结构示例
Sep 06 Javascript
cocos2dx+lua实现橡皮擦功能
Dec 20 Javascript
浏览器事件循环与vue nextTicket的实现
Apr 16 Javascript
vue路由拦截器和请求拦截器知识点总结
Nov 08 Javascript
Node.js设置定时任务之node-schedule模块的使用详解
Apr 28 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
ADODB的数据库封包程序库
2006/12/31 PHP
php 上传文件类型判断函数(避免上传漏洞 )
2010/06/08 PHP
PHP 使用redis简单示例分享
2015/03/05 PHP
golang与php实现计算两个经纬度之间距离的方法
2016/07/22 PHP
javascript之大字符串的连接的StringBuffer 类
2007/05/08 Javascript
js 删除数组的几种方法小结
2014/02/21 Javascript
JavaScript插件化开发教程 (二)
2015/01/27 Javascript
jQuery实现tab选项卡效果的方法
2015/07/08 Javascript
谈一谈javascript闭包
2016/01/28 Javascript
用jQuery旋转插件jqueryrotate制作转盘抽奖
2017/02/10 Javascript
Vue中建立全局引用或者全局命令的方法
2017/08/21 Javascript
vue+iview+less 实现换肤功能
2018/08/17 Javascript
如何自定义微信小程序tabbar上边框的颜色
2019/07/09 Javascript
VUE中setTimeout和setInterval自动销毁案例
2020/09/07 Javascript
Python中请使用isinstance()判断变量类型
2014/08/25 Python
Python数据结构与算法之使用队列解决小猫钓鱼问题
2017/12/14 Python
python3 字符串/列表/元组(str/list/tuple)相互转换方法及join()函数的使用
2019/04/03 Python
使用python远程操作linux过程解析
2019/12/04 Python
Python Numpy数组扩展repeat和tile使用实例解析
2019/12/09 Python
Python爬虫解析网页的4种方式实例及原理解析
2019/12/30 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
2020/06/29 Python
pycharm中使用request和Pytest进行接口测试的方法
2020/07/31 Python
python pygame 愤怒的小鸟游戏示例代码
2021/02/25 Python
Coggles美国/加拿大:高级国际时装零售商
2018/10/23 全球购物
波兰最大的宠物用品网上商店:FERA.PL
2019/08/11 全球购物
波兰快递服务:Globkurier.pl
2019/11/08 全球购物
英国Lookfantastic中文网站:护肤品美妆美发购物(英国直邮)
2020/04/27 全球购物
中专毕业生的自我鉴定
2013/12/01 职场文书
服务之星获奖感言
2014/01/21 职场文书
大学新学期计划书
2014/04/28 职场文书
副总经理岗位职责范本
2014/09/30 职场文书
开除通知书范本
2015/04/25 职场文书
当幸福来敲门观后感
2015/06/01 职场文书
小学生反邪教心得体会
2016/01/15 职场文书
2016年社会管理综治宣传月活动总结
2016/03/16 职场文书
Python中Matplotlib的点、线形状、颜色以及绘制散点图
2022/04/07 Python