2011-01-21 90 views
0

通過運行這個樣本:如何使用瀏覽器收聽窗口焦點事件?

<?xml version="1.0"?> 
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?> 

<window width="640" height="480" 
    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" 
    onload=""> 

    <script> 
     <![CDATA[ 
      function onfocus() { 
       dump("FOCUSED!\n"); 
      } 
      window.addEventListener("focus", onfocus, false); 
     ]]> 
    </script> 

    <browser id="gmail" type="content" src="http://gmail.com/" flex="1" /> 
    <button label="click here to remove the focus from the browser"/> 

</window> 

..你可以看到window的焦點事件將被拋出只有焦點browser。我加入了底部的按鈕,這樣你就可以從瀏覽器中刪除的重點和明白我的意思:

  • 如果button的重點是,你最小化和恢復窗口,你會看到焦點事件發生。
  • 如果browser重點並且您最小化和還原窗口,焦點事件將發生而不是發生。

我需要這個焦點事件發生在browser有焦點,任何想法如何實現這個目標?

回答

1

請嘗試使用activate事件。

+0

太棒了!謝謝!不知道我是否應該將它發佈到bugzilla。 – 2011-01-26 11:24:20