八月 20th, 2009ie上的flash监听不到键盘事件?
此文章来源于后羿之弓,转载请注明出处
近来因需要做了一个快捷键来处理flash里面的内容,发现在ie中,当焦点在flash上,按下键盘上的键时,无法触发body的onkeydown事件。
不知道各位有没有遇到这样的情况。
所以偶在flash里面得到浏览器是否为IE,如果是IE,则自行监听快捷键。如果不是,则由firefox等传来相应的信息处理就好。
- //js端
- var str="<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0'";
- str+="width='685' height='335' id='"+fname_ob+"' name='"+fname_ob+"' align='middle' >";
- str+="<param name='allowScriptAccess' value='always' />";
- str+="<param name='movie' value='test.swf' />";// /swf/
- str+="<param name='quality' value='high' />";
- str+="<param name='scale' value='noScale' />";
- str+="<param name='align' value='tl' />";
- str+="<param name='allowFullScreen' value='true' />";
- str+="<param name='wmode' value='transparent' />";
- str+="<param name='allowFullScreen' value='true' />";
- str+="<param name='flashvars' value='_ie=true' />";
- str+="<embed src='test.swf' quality='high' scale='noScale' bgcolor='#ffffff' width='685' height='335' flashvars='' name='"+fname_em+"' wmode='opaque' id='"+fname_em+"' align='middle' allowScriptAccess='always' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer'/>";
- str+="</object>";
- document.write(str);
- //flash之as端
- if(stage.loaderInfo.parameters._ie=='true'){
- stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
- }
- private function keyUpHandler(evt:KeyboardEvent) {
- if (evt.keyCode == 119) {
- //xxx;
- } else if (evt.keyCode == 120) {
- //xxx;
- }