2012-08-06 45 views
1

我在網上找到了一個breadcrumb導航生成器。我已經包含了代碼。它從標題中提取當前頁面的信息。我不希望它從標題中拉出來,因爲這會造成太長的痕跡。頁面的標題類似於頁面名稱 - 文件夾名稱 - 我的公司。這是爲了工作,所以我不能改變標題的格式。爲麪包屑菜單定義變量?

我試着在每個頁面上定義一個名爲pageName的變量,並在麪包屑代碼中將標題更改爲pageName,但似乎不起作用。

<script type="text/javascript"> 
var pageName= 'Name'; 
</script> 

我怎麼會去定義變量,以便它的工作原理。或者在短劃線之前拉動頁面標題的第一部分?

function breadcrumbs(){ 
    sURL = new String; 
    bits = new Object; 
    var x = 0; 
    var stop = 0; 
    var output = "<div class=breadcrumbs><A HREF=/>Home</A> &nbsp;&raquo;&nbsp; "; 

    sURL = location.href; 
    sURL = sURL.slice(8,sURL.length); 
    chunkStart = sURL.indexOf("/"); 
    sURL = sURL.slice(chunkStart+1,sURL.length) 

while(!stop){ 
    chunkStart = sURL.indexOf("/"); 
    if (chunkStart != -1){ 
    bits[x] = sURL.slice(0,chunkStart) 
    sURL = sURL.slice(chunkStart+1,sURL.length); 
    } 
    else{ 
    stop = 1; 
    } 
    x++; 
} 

for(var i in bits){ 
    output += "<A HREF=\""; 
    for(y=1;y<x-i;y++){ 
    output += "../"; 
    } 
    output += bits[i] + "/\">" + bits[i] + "</A> &nbsp;&raquo;&nbsp; "; 
} 
document.write(output + document.title); 
    document.write("</div>"); 
} 
+0

誰寫的代碼是一個nincompoop。誰聽說過在JavaScript中創建一個String對象,更不用說創建它,然後通過將現有的字符串分配給相同的變量來及時拋出它? – 2012-08-06 16:12:04

回答

0

改變這一行:

document.write(output + document.title); 

要:

document.write(output + pageName); 

這假定pageName是這個代碼出現在每個頁面上定義。

你可以改善這一點與此代碼:

if (typeof pageName != 'undefined') 
{ 
    document.write(output + pageName); 
} 
else 
{ 
    document.write(output + document.title); 
} 

該代碼將使用pageName如果它存在,否則它倒在頁面標題。