实例:尽可能写友好的Javascript代码

javascript

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

时间: 2024-10-18 11:36:59

实例:尽可能写友好的Javascript代码的相关文章

实例:尽可能写友好的Javascript代码_javascript技巧

在Search Engine的robot搜索时,针对的type,text/html此类"文本"的友好度是最高的(现阶段text/xml除外),而text/javascript此类的友好度不理想,如果robot还要判断DHTML代码的话,那这个复杂度也是较高,而且划不来,因此,在DHTML编程时,如果要提升代码的友好度.采用的方法,较好的方法是"尽可能是把DHTML的代码简化成没有HTML的代码".这句话如何理解? e.g:  一个javascript menu. 

验证用户必选CheckBox控件与自定义验证javascript代码_实用技巧

CheckBox控件,由于它的值是选择与非选择.因此在提交数据时,想让用户必须选择CheckBox,普通情况之下,不好做验证. 但我们可以使用asp:CustomValidator来验证,不过还得写自定义验证Javascript代码,可参考如下: 复制代码 代码如下: function ValidateCheckBox(sender, args) { var checkbox = document.getElementById("<%=CheckBox1.ClientID %>&qu

尽可能写&amp;quot;友好&amp;quot;的&amp;quot;Javascript&amp;quot;代码_基础知识

在Search Engine的robot搜索时,针对的type,text/html此类"文本"的友好度是最高的(现阶段text/xml除外),而text/javascript此类的友好度不理想,如果robot还要判断DHTML代码的话,那这个复杂度也是较高,而且划不来 因此,在DHTML编程时,如果要提升代码的友好度.采用的方法,较好的方法是"尽可能是把DHTML的代码简化成没有HTML的代码".这句话如何理解? e.g: 一个javascript menu. 方法

《众妙之门——JavaScript与jQuery技术精粹》——2.6 JavaScript代码复查实例

2.6 JavaScript代码复查实例 最近一位开发人员让我对他的代码进行复查并提供改进建议.虽然我并不是代码复查专家(不要被我上面所说的忽悠),我在这里还是给出我提出的问题和解决方案. 问题1问题:函数和对象没经过任何类型校验就作为参数传递给其他函数. 回复:类型校验是保证输入类型的必要步骤,如果没有进行检查,可能就有输入类型(字符串.日期.数组等)不确定的风险,这些可以轻易地毁掉你未经防御处理的应用程序.对于函数,至少应该进行以下处理: 1.测试以确保传递的变量真实存在: 2.进行type

ThinkPHP控制器里javascript代码不能执行的解决方法_php实例

本文实例讲述了ThinkPHP控制器里javascript代码不能执行的解决方法.分享给大家供大家参考.具体方法如下: 这里实例分析一下thinkphp在控制器里的网页特效代码不能执行解决方法,就拿"退出"这一项来说吧,我的"退出系统"链接是写到左边的框架里的,用js动态生成的.也就是说,没法通过链接里的target来指定. 复制代码 代码如下: $this->assign('jumpurl',__url__.'/login');<br>$this

for层次-用javascript代码写出来,怎么写

问题描述 用javascript代码写出来,怎么写 解决方案 html中的javascript代码怎么写javascript 写的tab页代码写javascript代码的技巧 解决方案二: alert(* ** ** * ); 解决方案三: alert(* ** ** * ); 解决方案四: alert确实可以,但是太土了,而且是个弹窗啊 这个题是考你for循环的使用,每次打出几个*** 算是一个算法吧,这个你可以搜一下,三角形代码输出算法,然后改一下输出行数和*的个数就可以了!! 解决方案五:

只有20行Javascript代码!手把手教你写一个页面模板引擎

AbsurdJS 作者写的一篇教程,一步步教你怎样用 Javascript 实现一个纯客户端的模板引擎.整个引擎实现只有不到 20 行代码.如果你能从头看到尾的话,还能有不少收获的.你甚至可以跟随大牛的脚步也自己动手写一个引擎.以下是全文. 不知道你有木有听说过一个基于Javascript的Web页面预处理器,叫做AbsurdJS.我是它的作者,目前我还在不断地完善它.最初我只是打算写一个CSS的预处理器,不过后来扩展到了CSS和HTML,可以用来把Javascript代码转成CSS和HTML代

javascript代码把class=a的所有checkbox打钩怎么写?

问题描述 javascript代码把class=a的所有checkbox打钩怎么写? 这样的:checkbox外面有 ,有class="pickMe" ,选择有这种class的li,将里面的checkbox打勾. 解决方案 真坑爹,代码都没格式的,自己看吧 function demo(name) { var el = document.getElementsByTagName("input"); for (var i = 0; i < el.length; i

Objective-C 代码与Javascript 代码相互调用实例_IOS

现在好的IOS 的 APP有时候会跟网页内容相关联,当然也是增加用户体验,及更好的,有效的体现APP 的功能. 由于本人在项目中会用到这部分功能,做下记录! JS调用OC 很多应用里面或多或少的调用了网页,来达到绚丽的效果,所谓的JS调用OC.....举个例子吧,网页上有个按钮 点击按钮跳转界面,跳转的动作由OC的代码实现. OC调用JS 还是举个例子,我们OC代码创建了输入框比如输入用户名,输入完成后显示在网页上,显示用户的用户名 一.利用webView的代理方法实现OC和JS的相互调用 创建