onclick = "location.href = 'link.html'" не загружает страницу в Safari - PullRequest
36 голосов
/ 21 июня 2011

Я не могу получить 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.)

Ответы [ 6 ]

113 голосов
/ 15 мая 2013

Попробуйте это:

onclick="javascript:location.href='http://www.uol.com.br/'"

Отлично работало для меня в Firefox, Chrome и IE (вау !!)

32 голосов
/ 21 июня 2011

Используйте jQuery .... Я знаю, что вы говорите, что пытаетесь научить кого-то javascript, но научите его более чистой технике ... например, я мог бы:jQuery, вы можете сделать:

$("#navigation").change(function()
{
    document.location.href = $(this).val();
});

Ненавязчиво и с чистым разделением логики и пользовательского интерфейса.

4 голосов
/ 21 июня 2011

Попробуй:

<option onclick="parent.location='#5.2'">Bookmark 2</option>
3 голосов
/ 10 июня 2016

Вы можете попробовать это:

 <a href="link.html">
       <input type="button" value="Visit Page" />
    </a>

Это создаст кнопку внутри ссылки, и она будет работать в любом браузере

1 голос
/ 09 марта 2012

У меня была такая же ошибка.Убедитесь, что у вас нет <input>, <select> и т. Д. name="location".

0 голосов
/ 13 апреля 2019

попробуй

<select onchange="location=this.value">
    <option value="unit_01.htm">Unit 1</option>
    <option value="#5.2" selected >Bookmark 2</option>
</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...