我在这里和Google一起搜索过,但我找不到答案。我们的应用程序使用WebBrowser控件向用户显示SWF Flash对象。这适用于鼠标,但有些部署只有带箭头键的遥控器。 问题是Flash对象加载时
WebBrowser.Navigate("c:\mypath\myflashfile.swf");
Flash对象没有焦点,因此箭头键不起作用。按键盘上的Tab键可以将焦点放在Flash对象上,然后键可以工作,但这对遥控器无效。 有没有人想过如何让Flash文件在加载后接受箭头键控制?
感谢。
答案 0 :(得分:0)
我根本不知道Flash,但我猜你可以在Javascript中处理某种事件,表明Flash对象已加载。例如,在Silverlight中,您可以提供一个在加载Silverlight控件后调用的JavaScript“回调”。
以下是我的blog中的一些代码,它显示了我对Silverlight的意思,希望您可以将其转换为Flash等效。
1-为网页中的元素提供ID
2-传递Silverlight应用程序上的'onLoad'参数,分配一个JavaScript功能,该功能将重点关注浏览器中的应用程序。
<object id="silverlightControl" data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="ClientBin/DragSnapDemo.xap"/>
<param name="onError" value="onSilverlightError" />
<param name="onLoad" value="silverlightControlHost_Load" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="3.0.40624.0" />
<param name="autoUpgrade" value="true" />
<a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40624.0" style="text-decoration:none">
<img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style:none"/>
</a>
</object>
3-最后编写加载Silverlight应用程序时调用的JavaScript函数
function silverlightControlHost_Load(sender, args)
{
var control = document.getElementById("silverlightControl");
control.focus();
}
更新:找到以下可能有用的链接
http://kb2.adobe.com/cps/155/tn_15586.html
http://www.actionscript.org/forums/archive/index.php3/t-120307.html