Я пытаюсь получить хеш-значение для текущей страницы без успеха. Я нацелен на страницу со ссылкой:jquery не возвращает url hash
http://www.mydomain.com/test.html#hash
Мой jquery для test.html выглядит следующим образом;
$(document).ready(function() {
if (window.location.hash){
console.log ("FOUND HASH");
}else{
console.log ("HASH NOT FOUND");
}
});
Независимо от того, что я делаю, я никогда не получаю хеш-значение; он всегда пуст ». Однако, когда я нарушаю код с Firebug и просматриваю DOM, я четко вижу, что значение хэша установлено правильно под window.location.hash
.
Что я делаю неправильно?
Заранее благодарим за помощь.
ANSWER РЕЗЮМЕ: Оказывается, что мой веб-адрес создает оболочку рамки вокруг всей страницы и в этом случае с различными портами. Хэш сохранялся родительским фреймом, но был потерян для дочернего элемента и недоступен кодом jquery. Использование прямого не-загруженного адреса привело к правильному поведению.
что, если вы берете его из Документ готов? что, если вы просто выполняете 'alert (window.location.hash)'. Я уверен, что должна быть какая-то синтаксическая ошибка, потому что это должно сработать ... какой браузер вы используете? какой другой контекст вы можете нам дать? –
не работает внутри или снаружи документа. Я вижу это как с FF, так и с хромированными консолями. добавлена демонстрационная страница выше. – Rob
JFYI, спецификация HTML5 сделала 'frame' и' frameset' ** устаревшие элементы **. http://www.w3.org/TR/html5-diff/#obsolete-elements –