2012-01-31 3 views
0

У меня есть простая функция jquery для показа видео, когда #showvideo присутствует в строке url, которая работает при вводе URL-адреса и посещении file.html # showvideo, но не тогда, когда нажимается ссылка. Нужно ли мне настраивать какое-то событие слушателя, чтобы вызвать это? Ссылка #video будет встроена в видео vimeo, поэтому я не могу изменить тегЗапуск JavaScript на основе компонента ссылки (hash)

$(function(){ 
    if(window.location.hash == '#showvideo') { 
     $(".current #video").show(); 
    } 
}) 
+0

Нет ничего плохого в том, что у вас там есть. Что происходит, когда вы запускаете '$ (". Current #video "). Show();' в консоли? И существует ли объект #video в документе? – Archer

ответ

2

Вам необходимо посмотреть onhashchange.

https://developer.mozilla.org/en/DOM/window.onhashchange

Вот кросс-браузер, совместимый библиотека/polyfill:

http://benalman.com/projects/jquery-hashchange-plugin/

+0

любые идеи, почему это не работает? \t функция showvideo() { \t, если (window.location.hash == '#showvideo') { \t \t console.log ('видео = 1'); \t} \t} \t $ (документ) .ready (функция() { \t \t showvideo(); \t \t $ (окно) .hashchange (showvideo());} \t) – user1054432

+0

Конечно. $ (Окна) .hashchange (showvideo()); должен быть window.onhashchange = showvideo. См. Здесь: http://jsfiddle.net/mstauffer/4MDgZ/3/ –

0

Вы должны следить за изменениями хэш. Существуют библиотеки, такие как History.js, которые могут помочь в этом. В некоторых браузерах есть событие hashchange, которое вы можете прослушать. Для браузеров, в которых вы не можете настроить таймер опроса с коротким интервалом, чтобы проверить хэш для изменений.

+0

любые идеи, почему это не работает? \t функция showvideo() { \t, если (window.location.hash == '#showvideo') { \t \t console.log ('видео = 1'); \t} \t} \t $ (документ) .ready (функция() { \t \t showvideo(); \t \t $ (окно) .hashchange (showvideo()); \t}) – user1054432

+0

Изменить '$ (window) .hashchange (showvideo()) 'to' $ (window) .hashchange (showvideo) ' –

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