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

Bad*_*mer 13 javascript google-chrome

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

Guf*_*ffa 43

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

window.location.href = 'http://www.guffa.com';
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,Guffa.我正在使用window.location ='url'.我更新到window.location.href,我仍然没有被重定向.实际上,我在Chrome中根本没有得到任何功能的响应.我创建了以下测试函数,它在IE和FF中运行良好,但不适用于Chrome:[code] function testfunc(){var code = document.getElementById("edit-report-types").value; 警报(代码); window.location.href ='google.com'; } [/ code] (4认同)

小智 20

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

window.location.href='google.com;
return false;
Run Code Online (Sandbox Code Playgroud)

  • 确认此功能适用于Chrome iOS。如果有人对此有解释,将不胜感激 (2认同)

Bad*_*mer 1

解决了问题。功能或 Chrome 都没有问题。该函数应该由 drupal 表单元素调用。我添加了 onclick 事件,该事件调用 drupal 表单本身的函数,而不是特定的表单元素。

差不多就是这样做的:

$form['testform'] = array(
    '#type' => 'fieldset',
    '#collapsible' => TRUE,
    '#collapsed' => FALSE,
        '#attributes' => array(
        'onchange' => 'testfunc()'),
 );
Run Code Online (Sandbox Code Playgroud)

而不是这个:

$form['testform']['element1'] = array(
    '#type' => 'select',
        '#options' => options,
        '#required' => false,
        '#attributes' => array(
        'onchange' => 'testfunc()'),

);
Run Code Online (Sandbox Code Playgroud)

我不觉得自己很傻吗。