Подтвердить что ты не робот

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.)

4b9b3361

Ответ 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>