window.location.href не работает в Safari - PullRequest
4 голосов
/ 18 ноября 2010

Почему это не работает в Safari?

<script language="javascript" type="text/javascript">
function changeUrl(url) {
  window.location.href='http://google.com';
  return false;
}
</script>

<form action="#" onsubmit="changeUrl(this)" />
  <input type="Submit" value="Go" />
</form>

Ответы [ 3 ]

7 голосов
/ 18 ноября 2010

Safari, похоже, не нравится, когда в вызове функции происходит возврат false. Если вы переместите его в свой onsubmit как onsubmit = "openPop (this.action); верните false;" тогда Safari будет работать без проблем.

Редактировать: чтобы улучшить ответ, самому onsubmit необходимо вернуть false, поэтому openPop, возвращающему false, недостаточно. Вы можете просто сделать это onsubmit = "return openPop (this.action);" хотя.

0 голосов
/ 31 декабря 2011

Я смог заставить его работать в Safari, используя этот код.

if (app.Name == "Safari") {
window.location ="your-url-here"
}
0 голосов
/ 18 ноября 2010

Может быть, это будет работать:

<script>
function popitup(url) {
    newwindow=window.open(url,'name','height=200,width=150');
    if (window.focus) {newwindow.focus()}
    return false;
}

// -->
</script>

Тогда используйте этот HTML:

<a href="popupex.html" onclick="return popitup('popupex.html')">Link to popup</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...