我对闪存应用程序的控制非常有限。我唯一能做的就是修改它读取的XML中的一些链接。
我想根据flash中的选定项执行JS代码。我可以链接到类似:currentpage.html#some_anchor,但有没有办法让我从jQuery检测到URL更改?
答案 0 :(得分:2)
正如alopix所提到的,您可以使用HTML5事件 onhashchange ,用于IE8 +,Chrome 5+和Firefox 3.6 +。
由于您已经在使用jQuery,因此您可能需要查看Ben Alman的this plugin,它可以为不支持的浏览器提供该事件的实现。这使它变得如此简单:
$(window).hashchange(function () {
alert(window.location.hash);
});
您还可以使用ExternalInterface.call()从Flash调用JavaScript函数,这可能对您的需求更加简单,但如果您无法访问Flash代码,则无济于事。< / p>
答案 1 :(得分:1)
在现代浏览器中,您可以收听onhashchange事件。
$(function() {
$(window).bind('hashchange', function() {
// more here
});
});
在IE&lt; 8中,您必须设置间隔并轮询散列是否已更改。
var i = window.setInterval('checkforhashchange', 500);