Наиболее частое использование окна .location
- заставить браузер загружать новую страницу. Распространенной ошибкой является присвоение URL объекту window.location
вместо его свойства href
. Итак, правильный способ сделать это:
window.location.href = 'http://www.guffa.com';
Только что создал следующий html-файл, и он предупредил меня о window.location в Google Chrome 4.0. Вы используете старую версию?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Untitled Page</title>
</head>
<body>
</body>
</html>
<script language="javascript" type="text/javascript">
alert(window.location);
</script>
Проблема решена. Не было проблем ни с функцией, ни с Chrome. Функция должна вызываться элементом формы drupal. Я добавлял событие onclick, которое вызывало функцию, в саму форму drupal, вместо конкретного элемента формы.
Практически так:
$form['testform'] = array(
'#type' => 'fieldset',
'#collapsible' => TRUE,
'#collapsed' => FALSE,
'#attributes' => array(
'onchange' => 'testfunc()'),
);
Вместо этого:
$form['testform']['element1'] = array(
'#type' => 'select',
'#options' => options,
'#required' => false,
'#attributes' => array(
'onchange' => 'testfunc()'),
);
Разве я не чувствую себя глупо.
У меня была та же проблема, и я не был достаточно осторожен, чтобы убедиться, что новый перенаправленный URL-адрес содержит пробелы (позор мне).
Таким образом, только Chrome останавливает это новое местоположение, если URL-адрес не стандартизирован.
Убедитесь, что у вас есть UpdatePanel, если вы используете мастер-страницу.
У меня была эта проблема, и в итоге моя функция javascript возвращала true после тега window.location (из-за вложенных функций). FF и IE никогда не обрабатывались так далеко, в то время как Chrome обрабатывал.