【问题标题】:Javascript Help - my breadcrumbs script to work correctlyJavascript 帮助 - 我的面包屑脚本正常工作
【发布时间】:2020-08-12 22:37:56
【问题描述】:

有人可以看看这个并告诉我我做错了什么吗?基本上,该脚本应该获取页面的 URL,通过“/”将 URL 拆分为一个数组,然后文档为每个子目录写入 HTML href 链接。它有点工作,直到有一个距根目录深 2 个文件夹的网页,然后它就搞砸了。

如果这是 URL,例如:website.com/root/folder/subfolder/page.html 它给了我:

> Home / Folder / Subfolder / Page

视觉上在页面上,这是正确的。 (website.com/root/ 是实际的主页。)

“主页”的链接正确,并带您到website.com/root/

“文件夹”的第二个链接是正确的,将您带到website.com/root/folder/

但是,“子文件夹”的第三个链接是错误的,并且由于某种原因再次链接到 website.com/root/

必须是第 14 行的内容,上面写着getLoc(i-3,subs[i],subs.length)+defp+,但我不知道我错过了什么。

这是脚本:

function breadCrumbs(base,delStr,defp,cStyle,tStyle,dStyle,nl) { 
    tit=document.title.replace(/Ak DRB > /g,"");
    loc=window.location.toString();
    subs=loc.split("/");
    document.write('<strong>></strong> <a href="/drb/" class="'+cStyle+'">Home</a>  '+'<span class="'+dStyle+'">'+delStr+'</span> ');
    if (loc.includes(".html") && !loc.includes("index.html")) {
        a=1;
    }else{
        a=2;
    }
    for (i=4;i<(subs.length-a);i++) {
        SUB=makeCaps(unescape(subs[i]));
        document.write('<a href="'+getLoc(i-3,subs[i],subs.length)+defp+'" class="'+cStyle+'">'+SUB+'</a>  '+'<span class="'+dStyle+'">'+delStr+'</span> ');
    }
    if (nl==1) document.write("<br>");document.write('<span class="'+tStyle+'">'+tit+'</span>');
}
function makeCaps(a) {
  g=a.split(' ');for (l=0;l<g.length;l++) g[l]=g[l].toUpperCase().slice(0,1)+g[l].slice(1);
  return g.join(" ");
}
function getLoc(c,e,f) {
  var d="";
  if (c>0) {
    for (k=0;k<c;k++) d=d+"../";
  }else{
    d="../"+e+"/";
  }
  return d;
}

【问题讨论】:

    标签: javascript breadcrumbs


    【解决方案1】:

    天哪,我让它工作了。我只是把我的相对路径结构弄错了,并试图让它变得太复杂。最终的getLoc 函数只需要:

    function getLoc(c,e,f) {
      var d="";
      var g=f-5;
    
      if (c==g) {
          d="./";
      }else{
          d="../";
      }
      return d;
    }
    

    【讨论】:

    • 事实上 'e' 变量甚至不需要。
    猜你喜欢
    • 2011-06-30
    • 2019-03-15
    • 1970-01-01
    • 1970-01-01
    • 2019-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-26
    相关资源
    最近更新 更多