Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> неожиданная работа location 
:(
    Опции темы
bars80080
Дата 29.7.2008, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



есть простой скриптик
Код
<script type="text/javascript"><!--
function what_page() {
        var x = prompt("Введите номер страницы");
        if(!isNaN(parseInt(x))) { window.location.href = "http://alfa/modules/access/control.php?bg=" + x; }
        else { alert("Вы ввели не число"); }}
//-->
</script>
 со страницы к нему обращается 
Код
<a href="javascript:void(0);" onclick="what_page(); return false;">
 почему в ИЕ6 если в ссылке не указать return false, то функция выполнится полностью, но window.location.href не выполнится? т.е. переход на страницу совершён не будет
PM MAIL WWW   Вверх
12345c
Дата 30.7.2008, 02:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Интересный баг. Вот так можно обойти:
Код

<script type="text/javascript"><!--
function what_page() {
        var x = prompt("Введите номер страницы",4);
        if(!isNaN(parseInt(x))) { setTimeout('window.location = "http://alfa/modules/access/control.php?bg=" + '+x,1); }
        else { alert("Вы ввели не число"); };/*alert([x,window.name]);*/}
//-->
window.name='aa';
</script>
<a href="javascript:void(0);" onclick="what_page();"> ********</a>



--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
SelenIT
Дата 30.7.2008, 03:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Вот такой он, псевдопротокол javascript:... загадочный и коварный ;). Особенно в IE (не первый случай, кстати). Занятно и показательно, что с обычным href="#" все работает и в исходном варианте...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
bars80080
Дата 30.7.2008, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



12345c, сэнкс, но не хотелось бы сочинять гидравлический трамплин в том месте где не хватило сил перелезть через забор
простота залог успеха, в данном случае чёрт знает где ещё может вылезти какая-то не стыковка.

однако, SelenIT, там по теме наблюдаются проблемы с href="#" в опере,
стало быть return false; - оптимальное решение и всё будет хорошо


спасибо за объяснения
PM MAIL WWW   Вверх
SelenIT
Дата 30.7.2008, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Полагаю, что return false; - норма жизни в тех случаях, когда вместо штатного перехода клик по ссылке должен вызывать другое действие. А href="javascript:..." - чисто отладочная фича, которой на рабочем сайте вообще не должно быть...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
bars80080
Дата 30.7.2008, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



но что-то же долно быть? любой адрес навредит, # - тоже не формал, пустую оставлять? а чем это грозит?
я б вообще href выкинул, но в этом случае ссылка стнет обычным span'ом и придётся прикручивать все её эффекты
PM MAIL WWW   Вверх
12345c
Дата 1.8.2008, 04:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



return !1, естественно, нужен, а javascript:void лучше избегать (хотя бы потому что в статус-баре странно выглядит для непрограммистов smile ). Если не поставить  return, а только href=#, появится # в адресной строке, а прокрученная вниз страница перескочит вверх. Это кому-то надо? smile


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
bars80080
Дата 1.8.2008, 09:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



Цитата(12345c @  1.8.2008,  04:55 Найти цитируемый пост)
хотя бы потому что в статус-баре странно выглядит для непрограммистов 
 это не причина. я лично редко гляжу на статус, только если хочу определить: подчёркнутый текст - ссылка или нет?
я не думаю, что существует такой трусливый пользователь, который испугается javascript:void . т.к. если он знает чего боятся, то он также знает, что эта конструкция безопасна

а ещё какие-нибудь причины?

т.к. меня очень раздражают лишние решётки в строке
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0584 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.