window.location在Chrome浏览器上不起作用

时间:2010-02-27 00:58:56

标签: javascript google-chrome

我有一个使用window.location的javascript函数。它适用于Firefox和Internet Explorer,但不适用于Chrome。我已经在Ubunutu Hardy和Windows Vista上测试了这个。什么是根本问题,我该如何规避呢?

7 个答案:

答案 0 :(得分:42)

window.location最常见的用途是让浏览器加载新页面。常见错误是将URL分配给window.location对象而不是其属性href。所以,正确的方法是:

window.location.href = 'http://www.guffa.com';

答案 1 :(得分:18)

尝试附加“return false;”你这样的javascript调用......

window.location.href='google.com;
return false;

答案 2 :(得分:2)

我遇到了这个问题,结果是我的javascript函数在window.location标记之后返回true(由于嵌套函数)。 FF和IE从未处理过那么多,而Chrome确实如此。

答案 3 :(得分:2)

尝试不使用window.。例如,使用location.assign()代替window.location.assign()

答案 4 :(得分:0)

刚创建了以下html文件,它在Google Chrome 4.0中为我提醒了window.location - 您使用的是旧版本吗?

<!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>

答案 5 :(得分:0)

解决了这个问题。该功能或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()'),

);

我不觉得傻。

答案 6 :(得分:0)

我遇到了同样的问题,我并不小心确保新的重定向网址包含空格(对我来说很羞耻)。

因此,如果网址未标准化,则只有Chrome会停止此新位置。

如果您使用母版页,请确保您有一个UpdatePanel。