Jquery Load на основе хэш-тега работает только в Safari

Я использую функцию jquery, чтобы получить значение хэш-тега в URL-адресе и загрузить этот URL-адрес в div id'd 'inload_content'. Как показано на странице http://www.divethegap.com/update/community/ (# Когда тестирования используйте только 2 тестовых видео внизу, так как остальные еще не подключены к URL-адресам.

В Safari это прекрасно работает как на OSX, так и на IOS. В firefox загрузится тестовое видео, но как только вы загрузите тестовое видео 2, независимо от того, что вы делаете, оно загрузит только тестовое видео 2 без обновления всей страницы.

В IE 8 он вообще ничего не делает.

Любые идеи,

Огромное спасибо.


person RIK    schedule 23.10.2010    source источник
comment
Функция загрузки JQuery :: $(function() { if(location.hash) $(#content_inload).load(location.hash.substring(1)); $(#nav a).click(function() { $ (#content_inload).load(this.hash.substring(1)); }); });   -  person RIK    schedule 23.10.2010


Ответы (2)


Вы можете попробовать включить полный URL-адрес в функцию загрузки...

load('http://mysite.com/' + location.hash.substring(1))

У меня были похожие проблемы в прошлом.

person Mottie    schedule 23.10.2010

Проблема решена в 3 шага.

Шаг 1 Убедитесь, что на сайте, управляемом данными, нет критического повторения идентификатора, вызванного наличием еще одного поста и идентификатором контейнера внутри него. (в данном случае «навигация» находилась внутри цикла.

Шаг 2. Придерживайтесь исходного кода, так как в этом случае хэш-тег представляет собой полный URL-адрес от http до последней косой черты, поэтому код, который необходим, определенно.

$(function() { if(location.hash) $("#content_inload").load(location.hash.substring(1)); $("#nav a").click(function() { $(" #content_inload").load(this.hash.substring(1));

}); });

Шаг 3

Постулируйте все причины, по которым что-то подобное не будет работать, от базовой орфографической ошибки html до внутреннего порядка скрипта, а затем устраняйте каждую проблему одну за другой.

person RIK    schedule 23.10.2010