久艹视频免费看,亚洲成av人综合在线观看,51久久夜色精品国产水果派解说,gogo全球大胆高清人体444

知識(shí)學(xué)堂
  • ·聯(lián)系電話:+86.023-75585550
  • ·聯(lián)系傳真:+86.023-75585550
  • ·24小時(shí)手機(jī):13896886023
  • ·QQ 咨 詢:361652718 513960520
當(dāng)前位置 > 首頁 > 知識(shí)學(xué)堂 > 網(wǎng)站建設(shè)知識(shí)
盡可能寫友好的Javascript代碼
更新時(shí)間:2012-01-18 | 發(fā)布人:本站 | 點(diǎn)擊率:359
在Search Engine的robot搜索時(shí),針對(duì)的type,text/html此類“文本”的友好度是最高的(現(xiàn)階段text/xml除外),而text/javascript此類的友好度不理想,如果robot還要判斷DHTML代碼的話,那這個(gè)復(fù)雜度也是較高,而且劃不來,因此,在DHTML編程時(shí),如果要提升代碼的友好度。采用的方法,較好的方法是“盡可能是把DHTML的代碼簡(jiǎn)化成沒有HTML的代碼”。這句話如何理解?

e.g:

一個(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.qpsh.com");
navi_menu.addItem("0","2","blog","http://www.qpsh.com");
navi_menu.addItem("0","3","music","http://www.qpsh.com");
navi_menu.init("navigator_Container");
</script>


二、采用對(duì)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 >home</a></li>
    <li><a >blog</a></li>
    <li><a >music</a></li>
    <!-- more... -->
  </ul>
<div>


從方法一和方法二來比較,方法一把一些HTML封裝到了neverDHTMLmenu()里,但這樣做并沒有實(shí)際的好處,雖然我們依然可以把CSS給到這個(gè)類里。
方法二中可以看到有很多好處,比如,可以將view與program分離,可以實(shí)現(xiàn)客戶端的MVC。換個(gè)角度說,可以提高開發(fā)效率。

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

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

這個(gè)方法建議大家可以試試,意思主要就是JS負(fù)責(zé)業(yè)務(wù)實(shí)現(xiàn),而視圖則仍然交由HTML來處理。