通过jQuery检测闪存点击

时间:2010-08-18 11:16:35

标签: javascript jquery flash

我对闪存应用程序的控制非常有限。我唯一能做的就是修改它读取的XML中的一些链接。

我想根据flash中的选定项执行JS代码。我可以链接到类似:currentpage.html#some_anchor,但有没有办法让我从jQuery检测到URL更改?

2 个答案:

答案 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);