我正在實施,如果我刷新頁面,它應該使以前選擇的選項卡(保留選定的選項卡)處於活動狀態。所以我創建一個簡單的html頁面並添加一些jQuery。
但是,如果我手動更改URL像file:///home/2.html#news
到file:///home/2.html#home
更改URL不會更改選項卡
它改變頁面的內容只,但不會改變標籤上,被選中。 。
這是我的代碼。
<body>
<ul>
<li id="first"><a href="#home">Home</a></li>
<li id="second"><a href="#news">News</a></li>
<li id="third"><a href="#contact">Contact</a></li>
<li id="forth"><a href="#about">About</a></li>
</ul>
<p id="home">
home section
</p>
<p id="news">
news section
</p>
<p id="contact">
contact section
</p>
<p id="about">
about section
</p>
</body>
<style>
p{
display: none;
}
:target {
display:block;
border: 2px solid #D4D4D4;
background-color: #e5eecc;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
if(localStorage.getItem("active_state") == null){
activeStateId = "first";
}
else{
activeStateId = localStorage.getItem("active_state")
}
$('#'+activeStateId).addClass('active');
$('li').click(function(){
$('.active').removeClass('active');
$(this).addClass('active');
localStorage.setItem("active_state", $(this).attr('id'));
});
});
</script>
可能需要在服務器上運行該頁面。 localStorage是域特定的,當你使用文件協議時可能甚至不可用(儘管如此)。如果你還沒有設置本地主機服務器,很容易做到,而且有很多種方法可以運行一個......所有這些都很容易研究。 Web開發很少使用文件協議完成,因爲還有其他限制,例如沒有ajax – charlietfl
感謝@charlietfl的回答。但我怎麼能通過創建一個簡單的HTML來做到這一點。 – TheVinspro
@TheVinspro你可能不能。我認爲有一個標誌可以啓動Chrome,它可以消除對文件協議的一些限制,但一般來說,最好是使用本地服務器,正如charlietfl所建議的那樣,或者使用自動開發的開發工具,就像WebStorm – hlfrmn