0

私はbreadcrumbs.jsファイルを使用しています。

function breadcrumbs(){
sURL = new String;
bits = new Object;
var x = 0;
var stop = 0;
var output = "";
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/a> &nbsp;|&nbsp; ";
}
document.write(output + document.title);
}

それが行うことは、フォルダー構造をトラバースし、ブレッドクラムのセットとして構築することです。たとえば、次のようになります。

/root
+ design-library
---+ foo
--------+ bar
------------+ baz name with space

そして、これは次のように返されます。

design-library | foo | bar | baz%20name%20with%20space | filename

ファイルフォルダー名にスペースを維持するにはどうすればよいですか。ただし、次のように戻ります。

design-library | foo | bar | baz name with space | filename
4

1 に答える 1

2

値を単一の文字にdecodeURIComponent(str)変換する を使用します。%xx

于 2012-12-07T18:26:42.227 に答える