0

我的网站上没有外部链接,所以我正在考虑选择所有锚标签:$('a')并将当前标签值附加到所有这些标签的 href 中,但这似乎是一种混乱的方法。有一个更好的方法吗?我网站的 url 看起来像这样:www.rsadler.com/html/home.html#chairsAndTables但是当你点击我的任何链接时,url 会更新,很明显,没有标签。谢谢!

4

3 回答 3

3

OP 实际上意味着页面会发生变化,但哈希需要结转到每个后续页面。

$('a').each(function(){
    var href=this.href.split('#')[0];
    $(this).attr('href', href + window.location.hash);
});
于 2013-02-05T18:38:43.960 回答
1

方法一:jQuery

$(document).ready(function() {
    $("a").each(function(){ this.src += window.location.hash; });
});

方法 2:会话 Cookie

window.onload = function() { 
    var winHash = window.location.hash;
    var cookieHash = unescape((document.cookie.match(new RegExp('\bhash=(.*?)(?:;|$)','i')) || [null,''])[1]);
    if(winHash == "" && cookieHash.length > 0)
        window.location.hash = cookieHash;
    else if(winHash != "")
        document.cookie = "hash=" + escape(winHash) + "; path=/";
}

注意我没有测试上面的JavaScript,所以可能有语法错误。

于 2013-02-05T18:55:06.953 回答
0

在链接的单击事件处理程序内的事件上调用preventDefault将阻止浏览器更新当前 URL。

于 2013-02-05T18:36:30.790 回答