Если элемент <select>
имеет параметр selected
, Chrome будет игнорировать этот выбранный параметр, даже если autocomplete="off"
для элемента <select>
при использовании функции браузера «перейти назад». Один из найденных мной обходных путей - это обертка выбора в <form>
, но я не хочу, чтобы в моем html были посторонние формы.
Вопрос : есть ли способ исправить это в Chromeбез переноса в элемент формы? (Такое поведение не наблюдается в Firefox, другие браузеры не тестировались)
Воспроизвести, используя Chrome 77 :
1.) Посетите этот jsfiddle и изменитеоба выбирают «Один». Обратите внимание, что «Два» является выбранным параметром для обоих, поэтому при загрузке страницы это то, что должно быть выбрано в обоих элементах
2.) Нажмите на ссылку на Google (навигация страницы на самом деле не происходит,Вывод jsfiddle на самом деле не может перейти на веб-страницы)
3.) Когда вы щелкнули мышью в выводе jsfiddle, нажмите кнопку браузера назад
4.) Обратите внимание, что элемент selectкоторый обернут в форму, имеет правильный элемент, выбранный по умолчанию, «Два». В элементе выбора, не обернутом в форму, выбран неверный элемент «Один»
https://jsfiddle.net/m5hg8n40/1/
<!-- chrome ignores 'selected' -->
<select autocomplete="off">
<option value="1">One</option>
<option value="2" selected>Two</option>
</select>
<br><br>
<a href="https://google.com">google.com</a>
<br><br>
<!-- chrome obeys 'selected' -->
<form autocomplete="off">
<select>
<option value="1">One</option>
<option value="2" selected>Two</option>
</select>
</form>