2012-02-19 2 views
1

У меня возникла проблема с событием hashchange в Firefox. Мы используем плагин jQuery hashchange, предоставленный Бен Альманом. Код выглядит следующим образом.Проблемы с jquery hashchange в firefox

$(window).hashchange(function (e) { 
    alert("Hello"); 
    //we want to perform a post in here. 
}); 
var temp = "#123"; 
if (temp !== "") { 
    if (window.location.hash == temp) { 
     $(window).hashchange(); 
    } 
    else{ 
     window.location.hash = temp; 
    } 
} 
else { 
    window.location.hash = "#Home/Home"; 
}; 

Сейчас это отлично работает в IE9 и Chrome, однако в Firefox, я вижу тревогу, но как только я нажимаю ОК, страница обновляется, отображается предупреждение снова, и продолжает бесконечно. Существует ли какое-то странное поведение, которое использует Firefox, о котором я не знаю? Или есть просто какая-то другая проблема, которая скрыта глубже?

+0

у меня нет этой проблемы в FF 9.0.1 или 10.0.2. Он показывает предупреждение, я нажимаю «ОК», а затем ничего. – glortho

+0

Пожалуйста, добавьте свое решение в качестве ответа, чтобы люди могли легко найти его в будущем. – Stedy

+0

Будет делать, просто ждет 8-часового периода времени, чтобы пройти –

ответ

0

В некоторых браузерах window.location.hash включает в себя #, а в некоторых - не лучше, если вы игнорируете его, сравнивая хэш-значение в коде.

Попробуйте это.

$(window).hashchange(function (e) { 
    alert("Hello"); 
    //we want to perform a post in here. 
}); 
//Remove hash from here which will be compared with window.location.hash 
var temp = "123"; 
if (temp !== "") { 
    //Replace # by empty nothing 
    if (window.location.hash.replace('#', '') == temp) { 
     $(window).hashchange(); 
    } 
    else{ 
     window.location.hash = '#' + temp;//Now add the hash here 
    } 
} 
else { 
    window.location.hash = "#Home/Home"; 
}; 
+0

Спасибо за подсказку, но это не было проблемой. Мы нашли решение проблемы здесь http://stackoverflow.com/questions/7110023/firefox-6-infinite-page-refresh-with-page-with-hash-tags –

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