Загрузка Jquery на основе хэш-тега, работающего только в Safari - PullRequest
0 голосов
/ 23 октября 2010

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

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

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

Любые идеи,

Большое спасибо.

Ответы [ 2 ]

0 голосов
/ 23 октября 2010

Проблема решена в 3 этапа.

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

Шаг 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 до внутреннего порядка сценария, а затем устранять каждую проблему одну за другой.

0 голосов
/ 23 октября 2010

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

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

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

...