2012-08-06 47 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如果它存在,否则它倒在页面标题。