2016-05-12 11 views
0

私は何時間も私の髪を引き出していました。どこかで何かが見つからないことを知っています...私は達成する必要があるものの80%を解決する解決策を見つけました... dootzukyによって Best way to make twitter bootstrap tabs persistentブートストラップタブ完全なhrefハッシュURL永続的な問題

$(document).ready(function() { 
    // show active tab on reload 
    if (location.hash !== '') $('a[href="' + location.href + '"]').tab('show'); 

    // remember the hash in the URL without jumping 
    $('a[data-toggle="tab"]').on('shown.bs.tab', function(e) { 
     if(history.pushState) { 
      history.pushState(null, null, '#'+$(e.target).attr('href').substr(0)); 
     } else { 
      location.hash = '#'+$(e.target).attr('href').substr(0); 
     } 
    }); 
}); 

しかし、SUBSTR(0)私はこのスニペットを実装した後、私は2つの問題を参照してください

OP SEリンクにコードにつきとして1ではない(1は軽微であり、私おそらく答えを見つけることができます)

  1. ]タブをクリックしたときに、私は二重のURLを取得するように見える

    ...タブの存在と

    ページには、この

    www.devsite.dev:8888/some_page.html?id=25 &のようなものですDIS = 4

    しかし、私はhref="some_page.html?id=25&dis=5#History_of_Posts"

    にあるものの代わりに、私はこれを取得するよう"dis=4"更新したいタブをクリックします。

    www.devsiteを.dev:8888/some_page.html ID = 25 & DIS = 4#some_page.html ID = 25の& DIS = 5#History_of_Posts

    むしろ私が好きな(あるいは期待)したいものより

    WWW? .devsite.dev:?8888/some_page.html ID = 25の& DIS = 5#History_of_Postsまた

  2. 、歴史(戻るボタン)が、それは一度だけクリックされていてもかかわらず、このURLの複数のエントリを示しているようですか?

何か助けやアドバイスをいただければ幸いです。ありがとうございます。他の回答のいくつかを読んだ後、私はギャビンの答えを実装して

+0

コードを表示すると、Luke! - 関連する[mcve] – ochi

+1

質問を編集してそこにコードを追加してください - コメント内のコードを読むのは非常に難しいです – ochi

答えて

0

実際に私の問題を解決する正しい方向に私を指摘https://stackoverflow.com/a/9393768/4494581この受け入れ答え...

// Javascript to enable link to tab 
var url = document.location.toString(); 
if (url.match('#')) { 
    $('.nav-tabs a[href="#' + url.split('#')[1] + '"]').tab('show'); 
} 

    // Change hash for page-reload 
    $('.nav-tabs a').on('shown.bs.tab', function (e) { 
    window.location.hash = e.target.hash; 

}) 

唯一の問題は、ページジャンプだったこと私はそれが必要なすべてを行うhistory.pushStateを組み込みます。 https://stackoverflow.com/a/32615601 これは、将来誰にでも役立ちます。

関連する問題