Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.11.2010, 16:01   #1
Zloy_Doomer
Форумчанин
 
Аватар для Zloy_Doomer
 
Регистрация: 25.04.2008
Сообщений: 277
Вопрос Назад и обновить

Доброго времени суток... Суть пробемы такова: Имеется страничка, на ней обычное меню слева... Все работает нормально, но если нажать на любой пункт, и потом вернутся назад с помощью кнопки браузера "назад", то с того пункта меню который был нажат до этого не снимается фокус, и он остается выделенн жирным шрифтом и цветом заданным для активного элемента в соответсвии правилам css для етого элемента...Но в тоже время выделяется пункт меню текщей страницы...Получается что активных элементов в меню два... Если же нажать на любую точку страницы, или обновить страницу, то выделение снимается и все приходит в порядок...Как я понимаю css работает нормально, ето изза того что браузер берет страничку из кэша... Пришел к выводу что при событии OnLoad нада обновлять страницу... Пробывал так:

Код:
<SCRIPT language="javascript">
 Window.OnLoad = window.location.reload(true); //  или false без разницы...
</SCRIPT>

 или 

<body onLoad="window.location.reload(true);"
Результат один и тот же Страничка перегружается но делает это постоянно...

Сопсна вопросы:
1. Как можно решить данную пробелму по другому(возможно чего я не досморел недодумал, нужен свежий взгляд)...
2. страничка постоянно обновляется, как сделать так чтобы при загрузке страницы ето присходило один раз и все...
3. Возможно при загрузке страницы нада сгенерировать клик мышки на любом обьекте, как ето реализовать?
4. Возможно нада просто пеедать фокус какому нибудь другому элементу, как???

З.Ы. Просьба не пинать и не отправлять на MSDN, прежде чем написать суда перерыл весь инет... я новичек в JavaScript да и сайтов за всою жиснь сделал от силы пару штук, ,и то простенькие...
it is a good day to die

Последний раз редактировалось Zloy_Doomer; 17.11.2010 в 16:06.
Zloy_Doomer вне форума Ответить с цитированием
Старый 17.11.2010, 16:39   #2
Никки
Форумчанин Подтвердите свой е-майл
 
Аватар для Никки
 
Регистрация: 20.11.2007
Сообщений: 500
По умолчанию

Код:
<body onLoad="this.focus()">
попробуйте так.
Никки вне форума Ответить с цитированием
Старый 17.11.2010, 16:46   #3
Никки
Форумчанин Подтвердите свой е-майл
 
Аватар для Никки
 
Регистрация: 20.11.2007
Сообщений: 500
По умолчанию

PS: а MSDN и не авторитет в JS. Туда бы я Вас отправил, так это на http://www.w3schools.com/
Никки вне форума Ответить с цитированием
Старый 17.11.2010, 17:07   #4
Zloy_Doomer
Форумчанин
 
Аватар для Zloy_Doomer
 
Регистрация: 25.04.2008
Сообщений: 277
По умолчанию

Цитата:
Сообщение от Никки Посмотреть сообщение
Код:
<body onLoad="this.focus()">
попробуйте так.
ничего не происходит, а точнее проблема остается( ( при нажатии назад обрабатывается же OnLoad?
it is a good day to die
Zloy_Doomer вне форума Ответить с цитированием
Старый 17.11.2010, 17:18   #5
Никки
Форумчанин Подтвердите свой е-майл
 
Аватар для Никки
 
Регистрация: 20.11.2007
Сообщений: 500
По умолчанию

Вставьте в onload alert('123'); и посмотрите обрабатывается или нет. В любом случае снять фокус с элемента можно методом blur(), либо установкой фокуса на другой элемент методом focus().
Никки вне форума Ответить с цитированием
Старый 17.11.2010, 17:46   #6
Zloy_Doomer
Форумчанин
 
Аватар для Zloy_Doomer
 
Регистрация: 25.04.2008
Сообщений: 277
По умолчанию

Цитата:
Вставьте в onload alert('123');
Алерт срабатывает при возвращении назад...Поетому и срабатывает в бесконечном цикле <body onLoad="window.location.reload(true );" ведьпри переззагрузке страницы постоянно генерится OnLoad... Возможно ли какнибудь сделать так, чтобы ета функция выполнилась один раз и больше не повторялась...То есть нажал назад, страница обновилась и все, работаем дальше и радуемся)

Цитата:
В любом случае снять фокус с элемента можно методом blur(), либо установкой фокуса на другой элемент методом focus().
Метод blur() пробывал - ничего не происходит, т.е. фокус с елемента не снимается...
Код:
<body onLoad="blur();">
Возможно как то попробывать передать фокус определенному елементу...Но как ето сделать??
it is a good day to die
Zloy_Doomer вне форума Ответить с цитированием
Старый 17.11.2010, 18:27   #7
Zloy_Doomer
Форумчанин
 
Аватар для Zloy_Doomer
 
Регистрация: 25.04.2008
Сообщений: 277
По умолчанию

Использал такой код для передачи фокуса

Код:
<SCRIPT language="javascript">
function foc()
{
 alert('Function is enabled');
 document.getElementById('pow').focus();
}
</SCRIPT>
Алерт срабатывает при нажатии "назад", но передача фокуса не просиходит..,Все работает только после обновления страницы...

upd...

Проверил в ИЕ фокус всетаки передается, но в опере нет(( есть лиуниверсальный способ что бы работал во всех броузерах??
it is a good day to die

Последний раз редактировалось Zloy_Doomer; 17.11.2010 в 18:32.
Zloy_Doomer вне форума Ответить с цитированием
Старый 21.11.2010, 19:20   #8
spaskhapped
Новичок
Джуниор
 
Регистрация: 19.11.2010
Сообщений: 2
По умолчанию Назад и обновить

В чем проблема? Можно сделать кукисы именно в следующей странице, чтоб именно при нажатии "Назад" страница обновлялась.
Опять же если только на следующей странице кукис выставлять, то при нажатии на назад ничего не будет, т.к. там будет браться данные из кэша и в кукисах или ничего не будет или будет записана старая переменная, а кэш мне нельзя отключать.
spaskhapped вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Откат макроса назад Chelentano Microsoft Office Excel 11 12.04.2016 18:02
Поиск - дальше, назад в TTreeView RIO Общие вопросы Delphi 10 14.12.2009 00:22
Возвращение назад в меню K[Lanc]N Помощь студентам 5 22.02.2009 11:14
Назад в прошлое Repz О форуме и сайтах клуба 4 14.08.2007 12:56
на шаг назад... malevich Общие вопросы Delphi 9 01.04.2007 20:50