2009-12-21 3 views
1

Я столкнулся с странной проблемой в ie6.window.location problem

Когда я использую window.location для перенаправления страницы через javascript, она отлично работает во всех браузерах, кроме ie6.

Он работает в IE 6, если я место так же, как показано ниже:

<a href="javascript:void(0);" onclick="javascript:window.location('http://www.demo.com');">demo</a> 

, но он не работает для ниже кода.

<a href="javascript:void(0);" onclick="javascript:redirect();>demo</a> 
function redirect() 
{ 
    window.location('http://www.demo.com');" 
} 

не могли бы вы разобраться, что что проблема здесь.

Спасибо.

Авинаш

ответ

1

Как насчет делать это:

<a href="#" onclick="redirect(); return false;"> 
    demo 
</a> 
+0

-1 window.location не является функцией. –

+2

@aaron, я не уверен, что вы имеете в виду, не могли бы вы рассказать об этом? – marcgg

+1

@Aaron: Где он сказал, что window.location является функцией? –

0

Try:

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

в функции.

7

Протокол javascript: используется только в том случае, если у вас есть Javascript-код в URL-адресе. Если вы поместите его в обработчик событий, вместо него вместо него появится метка.

Член location не является функцией, это объект. Чтобы изменить местоположение, установите для свойства href.

У вас есть дополнительная кавычка после строки кода в функции, которая, вероятно, вызывает синтаксическую ошибку.

<a href="javascript:void(0);" onclick="redirect();>demo</a> 

<script type="text/javascript"> 
function redirect() { 
    window.location.href = 'http://www.demo.com'; 
} 
</script> 
+1

@Guffa: настройка window.location будет по-прежнему работать. Попробуйте: 'window.location =" http://stackoverflow.com ";'. Хорошее место в синтаксической ошибке, хотя, я должен признать, что я ее не заметил :) –

+0

@Andy: Назначение URL-адреса объекта местоположения работает только в некоторых браузерах. – Guffa

+0

@ Guffa: Ах, справедливо. Мне было бы интересно узнать, какой (если таковой имеется) из лучших браузеров он не будет работать. –

1

Если вы хотите, чтобы страница перенаправления demo.html, когда пользователь нажимает на ссылку, осмелюсь предложить вам использовать универсальный, Crossbrowser <a href="demo.html">demo</a>?

+0

@Phil: Вы не думаете, что, вероятно, код, который он написал в вопросе, является просто упрощенным примером того, что он пытается сделать? –

+0

@ Энди Е: Да, но он этого нам не показал. Если он хочет, чтобы функция js изменила местоположение окна, это был бы другой вопрос - конкретный пример был перенаправлением в гиперссылке. Менее упрощенный вопрос может помочь - запуск javascript, когда пользователь нажимает на ссылку, - это не та же проблема. –

0

Try:

window.event.returnValue = ложь; document.location.href = 'http: //www.demo.com';

Смежные вопросы