[英]Resetting a select box not working on iPad, but works on Chrome on Windows
這是我現在正在使用的Javascript代碼。
$(document).ready(function(){
$('#altNav').change(function(){
var altNavSelectedVal = $('#altNav').val();
if (altNavSelectedVal != 'currentPage')
{
$('#altNav option[value="currentPage"]').attr('selected', 'selected');
location.href = altNavSelectedVal;
}
});
});
它用於在導航到下一頁之前將ID為altNav
的選擇框重置為值為currentPage
的選項。
這是為了防止瀏覽器緩存其先前的值。 例如,如果我在“關於”頁面上並將其更改為“服務”,它將帶我進入“服務”頁面。 如果單擊瀏覽器后退按鈕,它將返回到“關於”頁面,但其活動選擇是“服務”,因為它在更改頁面之前已更改為“服務”。
HTML代碼如下。
<select id="altNav">
<option value="/">Home</option>
<option value="/services">Services</option>
<option value="currentPage" selected="selected">Contact</option>
<option value="/about">About</option>
<option value="/news">News</option>
</select>
通常,如果在另一頁上,“聯系方式”選項的值為/contact
,但每個頁面都不同。 對於Home, /services
, /contact
, /about
和/news
,正常值是/
,但是當在這些頁面之一上時,該選項的值設置為currentPage
。
無論如何,該代碼可以像在Windows版Chrome瀏覽器上那樣正常工作,但是當我在iPad(可能還有iPhone)上進行測試時,按下“后退”按鈕時,它始終會返回“首頁”。
當我注釋掉該行的location.href = altNavSelectedVal;
例如,如果我在“新聞”頁面上並選擇“服務”,則應該在選擇“服務”后切換回“新聞”,但實際上是選擇“主頁”。 我不明白為什么只能在iOS上執行此操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.