2011-06-22 95 views
4

有沒有辦法讓jQuery從網頁上的頁面上生成麪包屑?jQuery從url生成麪包屑?

因此,如果網站的網址是: mysite.com/sec1/sec2/page

的麪包屑會是這樣的: 首頁>秒-1>秒2>頁

感謝

+0

jQuery不會爲你做,但它代碼很簡單。 –

+0

用什麼編碼?你的意思是像PHP一樣的服務器端代碼嗎? – Evans

+0

@jldn:在JavaScript中,除其他外。不過,你應該用服務器端語言做這樣的事情。無需爲此煩擾客戶。 –

回答

2

這將創建一個可用於生成麪包屑的數組。

var here = location.href.split('/').slice(3); 

var parts = [{ "text": 'Home', "link": '/' }]; 

for(var i = 0; i < here.length; i++) { 
    var part = here[i]; 
    var text = part.toUpperCase(); 
    var link = '/' + here.slice(0, i + 1).join('/'); 
    parts.push({ "text": text, "link": link }); 
} 

雖然,我真的認爲你應該在服務器端處理這個問題!

2
var url = 'mysite.com/sec1/sec2/page'; // = location.href 
var parts = url.split('/'); 
parts[0] = 'Home'; 
var breadcrumb = parts.join(' &gt; '); 
$('#breadcrumb').html(breadcrumb); 
+1

您必須注意location.href。你也會得到http://這將會影響你的分割。 'location.href.split('/')。slice(3)'應該做的。 –

0
splitted_url = document.url.split('/'); 

會給你一個包含每個目錄的數組,然後你可以像訪問它們一樣splitted_url[0]

0

除JavaScript本身提供的功能外,jQuery沒有任何獨特的URL解析功能。你可以通過URL路徑:

var path = location.pathname; 

然後,就可以得到該路徑的部分用:通過部分

var parts = path.split('/'); 

然後,就循環和產生的痕跡HTML您認爲合適的。