尽可能写"友好"的"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 相关文章推荐
Javascript常用运算符(Operators)-javascript基础教程
Dec 14 Javascript
jquery插件开发方法(初学者)
Feb 03 Javascript
jquery 单引号和双引号的区别及使用注意
Jul 31 Javascript
javascript显示用户停留时间的简单实例
Aug 05 Javascript
JS简单实现元素复制示例附图
Nov 19 Javascript
获得Javascript对象属性个数的示例代码
Nov 21 Javascript
网页从弹窗页面单选框传值至父页面代码分享
Sep 29 Javascript
全面了解JavaScript对象进阶
Jul 19 Javascript
AngularJS中的JSONP实例解析
Dec 01 Javascript
JS生成和下载二维码的代码
Dec 07 Javascript
详解Node.js access_token的获取、存储及更新
Jun 20 Javascript
详解vue使用$http服务端收不到参数
Apr 19 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中数据的批量导入(csv文件)
2006/10/09 PHP
php echo 输出字符串函数详解
2010/05/13 PHP
php GUID生成函数和类
2014/03/10 PHP
浅谈PHP中JSON数据操作
2015/07/01 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
2017/04/27 PHP
PHP函数用法详解【初始化、嵌套、内置函数等】
2020/06/02 PHP
比较详细的javascript对象的property和prototype是什么一种关系
2007/08/06 Javascript
js操作Xml(向服务器发送Xml,处理服务器返回的Xml)(IE下有效)
2009/01/30 Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
2013/11/19 Javascript
JAVA Web实时消息后台服务器推送技术---GoEasy
2016/11/04 Javascript
js窗口震动小程序分享
2016/11/28 Javascript
JS+Canvas实现的俄罗斯方块游戏完整实例
2016/12/12 Javascript
微信小程序 限制1M的瘦身技巧与方法详解
2017/01/06 Javascript
vue.js指令和组件详细介绍及实例
2017/04/06 Javascript
浅谈ajax请求不同页面的微信JSSDK问题
2018/02/26 Javascript
详解html-webpack-plugin插件(用法总结)
2018/09/12 Javascript
Vue请求JSON Server服务器数据的实现方法
2018/11/02 Javascript
Node.js net模块功能及事件监听用法分析
2019/01/05 Javascript
VsCode与Node.js知识点详解
2019/09/05 Javascript
微信小程序云开发获取文件夹下所有文件(推荐)
2019/11/14 Javascript
jquery实现商品sku多属性选择功能(商品详情页)
2019/12/20 jQuery
python中map、any、all函数用法分析
2015/04/21 Python
python判断给定的字符串是否是有效日期的方法
2015/05/13 Python
python实现爬虫统计学校BBS男女比例之数据处理(三)
2015/12/31 Python
Python实现手机号自动判断男女性别(实例解析)
2019/12/22 Python
python中sort sorted reverse reversed函数的区别说明
2020/05/11 Python
编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录
2020/11/29 Python
使用HTML和CSS3绘制基本卡通图案的示例分享
2015/11/06 HTML / CSS
Bibloo匈牙利:女装、男装、童装及鞋子和配饰
2019/04/14 全球购物
英国设计师珠宝网站:Joshua James Jewellery
2020/03/01 全球购物
信息技术专业大学生职业生涯规划书
2014/01/24 职场文书
爱的奉献演讲稿
2014/09/10 职场文书
公司离职证明范本(汇总)
2014/09/10 职场文书
公司离职证明标准格式
2014/11/18 职场文书
2016大一新生军训心得体会
2016/01/11 职场文书
使用Apache Camel表达REST服务的方法
2022/06/10 Servers