(function($,W) {
$.fn.nav = function(options) {
$this = $(this);
var defaults = {
editing:false,
parent:false,
beforeQuit:function(){
}
};
defautls = $.extend(defaults,options);
var data;
if(defaults.parent){
data = parent.navs = [];
}else{
data = parent.navs = parent.navs || [];
}
var url = W.document.location.href;
var title = W.document.getElementsByTagName("title")[0].innerText;
var node = new navNode(url,title);
var index = -1;
for(var i=0;i<data.length;i++){
if(data[i].name == title){
index = i;
break;
}
}
if(index == -1){
data.push(node);
}else{
data.splice(index+1,data.length-index-1);
}
var html = "当前位置:";
for(var i=0;i<data.length;i++){
if(i != 0)
html += ">>";
if(i == data.length -1){
html += "<a dataIndex=\""+ i +"\">"+ data[i].name +"</a>";
}else{
html += "<a href=\"javascript:void(0);\" dataIndex=\""+ i +"\">"+ data[i].name +"</a>";
}
}
$this.append(html);
$this.css({"margin":"10px"});
$this.delegate("a", "click",data, function() {
var index = $(this).attr("dataIndex");
if(index != data.length -1){
if(defaults.editing){
$.omMessageBox.confirm({
title : '确认离开',
content : '您当前处于编辑状态,确认离开?',
onClose : function(v) {
if (v) {
W.document.location.href = data[index].url;
}
}
});
}else{
W.document.location.href = data[index].url;
}
}
});
};
function navNode(url,name){
this.url = url;
this.name = name;
}
navNode.prototype.toString = function(){
return "<span>"+ name +"</span>";
};
})(jQuery,window);
$("#nav").nav({});
iframe 页面
<div id="nav"></div>
适用情况
主页面包含<iframe />
子页面包含<title/>