Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.09.2010, 21:05
snk snk вне форума
Интересующийся
Отправить личное сообщение для snk Посмотреть профиль Найти все сообщения от snk
 
Регистрация: 18.12.2009
Сообщений: 14

Изменение hash не воспринимается историей ie
lastHash=''
            function checkHash() {
                hash=window.location.hash.substring(1);
                if (hash!=lastHash)
                {
                    alert (hash);   
                }
                lastHash=hash
                setTimeout("checkHash()",100)
            }
setTimeout("checkHash()",100)

Как заставить ie воспринимать изменение хэша в историю, чтобы работали back и forward
Ответить с цитированием
  #2 (permalink)  
Старый 08.09.2010, 22:21
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

<script type="text/javascript">
window.onload = function(){
	setTimeout(function(){
		document.getElementById('test').onclick = function(){
		location.replace(window.location.hostname +'#test');//для теста
			if(window.location.hash != '') {
				alert(window.location.hash.substring(1));
			}
			return false;
		};
	}, 100);
};
</script>
<a href="#test" id="test">link</a>

Последний раз редактировалось monolithed, 08.09.2010 в 22:25.
Ответить с цитированием
  #3 (permalink)  
Старый 09.09.2010, 00:05
snk snk вне форума
Интересующийся
Отправить личное сообщение для snk Посмотреть профиль Найти все сообщения от snk
 
Регистрация: 18.12.2009
Сообщений: 14

действительно заработало только на 5ой строчке вместо window.location.hostname +'#test' пришлось вставить window.location.hash а то перебрасывало на несуществующую страницу
Но при этом все работало только при нажатие на ссылку, попытался приспособить под свои нужды, не вышло

Я правильно понял, чтобы эксплорер добавлял переход с хешем в историю нужно сделать location.replace(sitename/page.html#hash) ?

lastHash=''

            function checkHash() {                
                hash=window.location.hash.substring(1);
                if (hash!=lastHash && hash!='')
                {
                    alert (hash); 
                    location.replace(window.location.href)  
                }
                lastHash=hash
                setTimeout("checkHash()",100)
            }
Ответить с цитированием
  #4 (permalink)  
Старый 09.09.2010, 07:38
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

location.replace() - не нужно, это я написал, чтобы вы могли протестировать, т.к. в IE нужно было бы нажать на ссылку два раза пока в адрес бы не добавился хеш.
Ответить с цитированием
  #5 (permalink)  
Старый 09.09.2010, 09:24
Новичок
Отправить личное сообщение для inGray Посмотреть профиль Найти все сообщения от inGray
 
Регистрация: 03.08.2010
Сообщений: 230

snk,
Насколько помню, replace как раз записей в истории не оставляет..
__________________
Не хочешь, чтобы тебя послали? Не спрашивай куда идти.
Ответить с цитированием
  #6 (permalink)  
Старый 10.09.2010, 17:12
snk snk вне форума
Интересующийся
Отправить личное сообщение для snk Посмотреть профиль Найти все сообщения от snk
 
Регистрация: 18.12.2009
Сообщений: 14

А что тогда заставляет ИЕ записывать переход по хэшу в историю? Смотрю ваш код и не понимаю
Ответить с цитированием
  #7 (permalink)  
Старый 10.09.2010, 22:13
Новичок
Отправить личное сообщение для inGray Посмотреть профиль Найти все сообщения от inGray
 
Регистрация: 03.08.2010
Сообщений: 230

Изменение window.location.hash...?
__________________
Не хочешь, чтобы тебя послали? Не спрашивай куда идти.
Ответить с цитированием
  #8 (permalink)  
Старый 13.09.2010, 23:36
snk snk вне форума
Интересующийся
Отправить личное сообщение для snk Посмотреть профиль Найти все сообщения от snk
 
Регистрация: 18.12.2009
Сообщений: 14

а мой скрипт разве не изменяет window.location.hash ?
Он как бы даже работает, без проблем отслеживая изменение этого хеша, вот только в ie не появляется кнопка back ведущая на предыдущее состояние хэша
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обработать изменение масштаба окна в IE8 ? v_k Events/DOM/Window 1 09.08.2010 13:35
Динамическое изменение <input text> baal1988 Events/DOM/Window 4 24.08.2008 17:17