2011-06-22 72 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您认为合适的。