2010-07-05 67 views
0

我已經在這裏搜索過,並與Google一起搜索,但找不到對此的答案。我們的應用程序使用WebBrowser控件向用戶顯示SWF Flash對象。這適用於鼠標,但某些部署只有帶箭頭鍵的遙控器。 的問題是,當Flash對象加載將焦點集中在WebBrowser控件中託管的Flash對象

WebBrowser.Navigate("c:\mypath\myflashfile.swf"); 

Flash對象不具有焦點,使箭頭鍵不起作用。按下鍵盤上的Tab鍵將焦點放在Flash對象上,然後這些鍵可以工作,但這不適用於遙控器。 任何人有任何想法如何讓Flash文件接受箭頭鍵控制一旦加載?

謝謝。

回答

0

我根本不知道Flash,但我猜想有一些事件可以在JavaScript中處理,表明Flash對象已加載。例如,在Silverlight中,您可以提供一個JavaScript「回調」,該回調在加載Silverlight控件後調用。

下面是我的blog中的一些代碼,它顯示了我在Silverlight中的含義,希望您可以將其轉換爲Flash版本。

1-給在所述網頁中的元素的ID

2-通過,Silverlight應用程序分配的JavaScript函數將集中於應用在瀏覽器中「的onLoad」參數。

<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應用程序已經被加載

function silverlightControlHost_Load(sender, args) 
{ 
    var control = document.getElementById("silverlightControl"); 
    control.focus(); 
} 

更新時調用的JavaScript函數:找到以下鏈接可能會有所幫助

http://kb2.adobe.com/cps/155/tn_15586.html

http://www.actionscript.org/forums/archive/index.php3/t-120307.html

+0

感謝您的回覆,我可能沒有提供足夠的細節。 Flash對象不在網頁上。直接在WebBrowser控件上設置SWF的URL。這就是說我可以使用InvokeScript來編寫一些JavaScript。其次,將焦點設置爲Flash對象似乎不夠。我需要將注意力集中到Flash中的一個元素上,而我無法實現這一點。 Flash SWF文件是第三方,不在我們的控制範圍之內。 – Phill 2010-07-06 09:14:00

+0

@Phill,對不起,我不能提供任何信息,因爲我說我不知道​​閃光燈,我只是希望SL信息可以幫助你在正確的方向。 – 2010-07-06 16:22:11

相關問題