2009-11-08 58 views
1

我知道我可以檢測閃光燈獲得和失去焦點與這些回調:如何查詢,如果閃光燈聚焦

stg.addEventListener(Event.DEACTIVATE, deactivateCb, false, 0, true); 
stg.addEventListener(Event.ACTIVATE, activateCb, false, 0, true); 

但有無論如何,如果它集中與否直接查詢閃?

(試圖弄清楚,如果閃光燈聚焦啓動時...)

回答

2

我敢肯定閃光燈從來沒有啓動時焦點。必須點擊才能獲得重點。從那裏你可以存儲焦點的變化,並且隨你喜歡而改變。

1

我不認爲你可以用動作腳本API此信息。

我認爲,如果你分配一個ID到Flash嵌入元素,跟蹤重點支持JavaScript的ID,並查詢嵌入是否已集中使用ExternalInterface的它會工作。

<object ...> 
    ... 
    <embed id="flash_player" type="application/x-shockwave-flash" ...></embed> 
</object> 
<script language="JavaScript"> 
    var flash_has_focus = false; 
    var fp = document.getElementById('flash_player'); 

    fp.onfocus = function (e) { 
     flash_has_focus = true; 
    }; 
    fp.onblur = function (e) { 
     flash_has_focus = false; 
    }; 

    function is_focused() { 
     return flash_has_focus; 
    } 
</script> 

而在Flash ...

var focused:Boolean = ExternalInterface.call('is_focused'); 

編輯補充 - 顯然,這並不在Internet Explorer中運行。