对于 AS2,我需要允许用户按“Alt + N”以转到下一页,但问题是在 Windows 中,每当按下 Alt 时,它都会将焦点从 Flash 嵌入中移开,并且 keylistener 永远不会收到它。
研究做什么,似乎解决方案是使用Javascript禁用Firefox(它需要运行的浏览器)中的ALT键的默认操作。我不确定这是否是正确的道路,也不确定该怎么做。
对于 AS2,我需要允许用户按“Alt + N”以转到下一页,但问题是在 Windows 中,每当按下 Alt 时,它都会将焦点从 Flash 嵌入中移开,并且 keylistener 永远不会收到它。
研究做什么,似乎解决方案是使用Javascript禁用Firefox(它需要运行的浏览器)中的ALT键的默认操作。我不确定这是否是正确的道路,也不确定该怎么做。
好吧,您需要在闪存程序中使用外部接口;像这样的东西:
function keyCodeReceptor( code ){
switch ( code ) {
case 67:
// go to the next page
break;
// add any other keys you need to bind to "Alt+key" combination
default:
break;
}
}
flash.external.ExternalInterface.addCallback( 'doKey', null, keyCodeReceptor );
然后,您将需要在要嵌入对象的 HTML 中类似以下内容:
(function(){
// Use the name or index of your embed here
var flash = document.embeds[0];
window.addEventListener( 'keydown', function( event ){
if( event.altKey && event.keyCode == 67 ){
event.preventDefault();
event.preventCapture();
event.preventBubble();
flash.doKey(event.keyCode);
}
});
})();
此外,请确保嵌入的allowScriptAccess
属性设置为"always"
.
我只测试了这是 Firefox(最新,Mac 和 Windows),所以我完全不知道它是否适用于其他浏览器。希望这可以帮助!