我在网页上使用SWFObject作为Flash播放器。播放器通常有像播放、停止、暂停等按钮。我需要在用户点击任何按钮时捕获这个时刻,并执行一些JS函数。非常抱歉我的英语不好,提前感谢您的帮助。
附注:我没有我的swf文件的源代码。
我在网页上使用SWFObject作为Flash播放器。播放器通常有像播放、停止、暂停等按钮。我需要在用户点击任何按钮时捕获这个时刻,并执行一些JS函数。非常抱歉我的英语不好,提前感谢您的帮助。
附注:我没有我的swf文件的源代码。
getURL()
函数完成的。您需要在Flash文件的操作脚本中定义以下内容:this.onClick = function(){
getURL("javascript:yourFunctionName();");
};
您可以使用onPress方法。
示例
[button_name].onPress = function(){
//在此处编写要执行的操作
}
嗯...
冒着冒险的风险,我实际上认为,在跨浏览器Javascript中,没有任何方法可以钩入特定的Flash播放器活动。事实上,如果有的话,我会非常惊讶 - 尽管我很乐意从比我更有知识的人那里听到不同的声音。:)
假设这是真的,除了通过监听(在您页面上下文中运行的Javascript)ActiveX /插件对象本身引发的焦点和单击事件的组合之外(这可能不会非常具体或可靠-我甚至认为单击事件不会被引发),我怀疑你不会有太多的好运。
从我迄今为止进行的简短测试中:
window.onload = function()
{
document.onclick = function()
{
alert("Clicked the page!");
}
document.getElementById("mySWFObjectID").onfocus = function()
{
alert("Focused the player!");
}
document.getElementById("mySWFObjectID").onclick = function()
{
alert("Clicked the player!");
}
}
...玩家似乎没有将点击事件传递到页面;在IE中,焦点事件会触发,但在Firefox中不会触发,并且只有在控件获得焦点时才触发。因此,除了编写可能需要浏览器插件之外,以获取比JavaScript级别更低的访问权限,您可能无法解决这个问题。
但是,如果有人知道其他方法,请告诉我们...