2010-08-18 3 views
1

У меня только ограниченный контроль над флеш-приложением. Единственное, что я могу сделать, это изменить некоторые ссылки в XML, на котором он читает.Обнаружение флеш-кликов по jQuery

Я хочу выполнить JS-код на основе выбранного элемента во флэш-памяти. Я могу ссылаться на что-то вроде: currentpage.html # some_anchor, но есть ли способ обнаружить изменение URL-адреса из jQuery?

ответ

2

Как alopix упоминалось, вы можете использовать событие HTML5, onhashchange, для IE8 +, Chrome и Firefox 5 + 3.6 +.

Поскольку вы уже используете jQuery, вы можете взглянуть на this plugin от Ben Alman, что делает реализацию события доступной для неподдерживаемых браузеров. Это делает это так же просто, как:

$(window).hashchange(function() { 
    alert(window.location.hash); 
}); 

Вы также можете использовать ExternalInterface.call() для вызова функции JavaScript из флэш-памяти, которая, вероятно, намного проще для того, что вам нужно, но не очень помогает, если у вас нет доступ к Flash-коду.

1

В современных браузерах вы можете слушать событие onhashchange.

$(function() { 
    $(window).bind('hashchange', function() { 
     // more here 
    }); 
}); 

В IE 8 < вы должны установить интервал и опрос, если хэш изменился.

var i = window.setInterval('checkforhashchange', 500); 
+0

Забыл написать IE <8. – alopix

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