Onclick = "location.href= 'link.html'" не загружает страницу в Safari
Я не могу получить onclick="location.href='link.html'"
для загрузки новой страницы в Safari (5.0.4).
Я создаю раскрывающееся меню навигации с помощью тегов <select>
и <option>
HTML. Я использую обработчик onclick
для загрузки новой страницы после нажатия на пункт меню, но в Safari ничего не происходит. (Я успешно протестировал в FF & Opera.) Я знаю, что в Safari есть много ошибок onclick
, но я не нашел решений, которые бы решали эту конкретную проблему.
Вы можете увидеть образец моего кода ниже:
<select>
<option onclick="location.href='unit_01.htm'">Unit 1</option>
</select>
а также
<select>
<option onclick="location.href='#5.2'">Bookmark 2</option>
</select>
Я не (и не предпочитаю) иметь какой-либо javascript, встроенный в раздел head моего HTML. Я разрабатываю страницу для тех, кто не знает, как использовать javascript - поэтому, чем проще код, тем лучше.)
Какой код JavaScript сделает пункт меню кликабельным во всех браузерах? (Пожалуйста, проверьте совместимость с IE.)
Ответы
Ответ 1
Использовать jQuery.... Я знаю, что вы говорите, что пытаетесь научить кого-то javascript, но научите его более чистой технике... например, я мог:
<select id="navigation">
<option value="unit_01.htm">Unit 1</option>
<option value="#5.2">Bookmark 2</option>
</select>
И с небольшим jQuery вы можете сделать:
$("#navigation").change(function()
{
document.location.href = $(this).val();
});
Ненавязчиво и с четким разделением логики и UI.
Ответ 2
Попробуйте следующее:
onclick="javascript:location.href='http://www.uol.com.br/'"
Работала отлично для меня в Firefox, Chrome и IE (wow!!)
Ответ 3
Дайте этому ходу:
<option onclick="parent.location='#5.2'">Bookmark 2</option>
Ответ 4
Вы можете попробовать следующее:
<a href="link.html">
<input type="button" value="Visit Page" />
</a>
Это создаст кнопку внутри ссылки и будет работать в любом браузере
Ответ 5
У меня была такая же ошибка. Убедитесь, что у вас нет <input>
, <select>
и т.д. name="location"
.
Ответ 6
пытаться
<select onchange="location=event.target.value">
<option value="unit_01.htm">Unit 1</option>
<option value="#5.2" selected >Bookmark 2</option>
</select>
Ответ 7
вы можете сделать это как:
<select id="mylinklist" name="mylinklist" onChange="if(this.selectedIndex!=0) self.location=this.options[this.selectedIndex].value">
<option value="http://www.website.com/">my link</option></select>