国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > JS > 正文

實例:盡可能寫友好的Javascript代碼

2024-05-06 16:54:36
字體:
來源:轉載
供稿:網友

在Search Engine的robot搜索時,針對的type,text/html此類“文本”的友好度是最高的(現(xiàn)階段text/xml除外),而text/javascript此類的友好度不理想,如果robot還要判斷DHTML代碼的話,那這個復雜度也是較高,而且劃不來,因此,在DHTML編程時,如果要提升代碼的友好度。采用的方法,較好的方法是“盡可能是把DHTML的代碼簡化成沒有HTML的代碼”。這句話如何理解?

e.g:

一個javascript menu。
方法一、采用常規(guī)的編程方法: 
<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分離,可以實現(xiàn)客戶端的MVC。換個角度說,可以提高開發(fā)效率。

可能有些朋友會問,除了menu,還有哪些程序可以按上述的方法分離呢?
上面也提到了,一般與頁面交互較多的,會產生大量的HTML的,會影響Search Engine的robot的,都可以采用這種方法,當然了,這些只是討論對Search Engine的友好度,所以,任何代碼都必須由實際情況而定。

也或者有朋友問,這樣為何會提高開發(fā)效率?
比如,美工做好模板后,(假設此美工會一些相關的HTML編寫)那么按照xhtml標準,(如上例如示)
假設我要把原本的home改成Default page,那么美工得和程序員溝通,說要改這個menu的字,溝通時間在開發(fā)中也會多了。因此,在開發(fā)進度上,這個時間要算進去的。假設要改模板了,那么還得溝通。再或者假如原來用js生成的HTML是table做成的menu,要改版了,那么這個程序還得改寫。不利于維護...

這個方法建議大家可以試試,意思主要就是JS負責業(yè)務實現(xiàn),而視圖則仍然交由HTML來處理。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 鄂托克旗| 孝义市| 抚顺市| 宁安市| 安丘市| 乌兰浩特市| 邹城市| 广安市| 乐东| 那坡县| 新平| 临城县| 肇庆市| 香格里拉县| 盐山县| 正宁县| 新津县| 平和县| 遵化市| 昭觉县| 新晃| 正蓝旗| 蒲江县| 庆阳市| 马公市| 泗洪县| 新泰市| 文成县| 辉县市| 娄底市| 华蓥市| 梨树县| 黄浦区| 阿拉善右旗| 从化市| 海城市| 菏泽市| 会昌县| 翁源县| 叶城县| 东城区|