JavaScript を使用して動的ブレッドクラムを設定しました。私が望むのは、各単語の頭文字を大文字にすることだけです。
例: ホーム > 一部 > ページ
現在、私はそれらをすべて小文字に変換し、複数の単語を含むページの文字列からすべてを削除しました。文字列を頭文字に変換するだけです。これまでに作業したコードは次のとおりです。
var path = "",
href = document.location.href,
domain = href.match(/:\/\/(.[^/]+)/)[1],
replacedomain = 'http://' + domain + '/',
s = href.replace(/-/gi, " ").split("/"),
lastElement = document.location.href.split('/').splice(-1,1);
for (var i = 2; i < (s.length - 1); i++) {
path += "<a class='bc' href=\"" + href.substring(0, href.indexOf("/" + s[i]) + s[i].length + 1) + "/\">" + s[i] + "</a> > ";
if (i > 0) {
breadcrumb = path;
}
}
i = s.length - 1;
breadcrumb += "<span>" + s[i] + "</span>";
var breadcrumbl = breadcrumb.toLowerCase(),
domain = breadcrumbl.match(/:\/\/(.[^/]+)/)[1],
breadcrumb2 = breadcrumbl.replace(domain, "").replace(domain, ""),
breadcrumbs = breadcrumb2,
url = '<a href="/">Home</a>' + breadcrumbs;
document.getElementById('breadcrumb1').innerHTML=url;
解決策は正規表現だと思いますが、書くのが苦手でコンセプトに苦労しています。また、このスクリプトをさらに最適化できると思われる方がいらっしゃいましたら、フィードバックをお待ちしております。本番用に変数名をより意味のあるものにします。