2013-07-23 30 views
5

Chrome uzantısını geliştirmem.Chrome extension onSuspend hiçbir zaman

chrome.runtime.onSuspend'a olay dinleyicisi eklemeye çalışıyorum, ancak hiçbir zaman çağrılmaz.

Aşağıdaki kodu kullanıyorum, ancak localStorage değiştirilmedi ve konsolda da günlük mesajları yok (dosyaya günlük iletileri kaydetmek için --enable-logging --v=1 kullanıyorum).

chrome.runtime.onSuspend.addListener(function() { 
    localStorage["suspend"] = new Date(); 
    console.log("On suspend"); 
}); 

Testi kutusu: Krom 28.0.1500.72 m WinXP SP3 x86

Kolayca Bu sorunu yeniden test uzantısı oluşturdunuz:

manifest.json

{ 
    "manifest_version": 2, 

    "name": "Chrome onSuspend test", 
    "version": "1.0", 

    "background": { 
    "scripts": ["background.js"] } 
} 

background.js

chrome.runtime.onSuspend.addListener(function() { 
    localStorage["suspend"] = new Date(); 
    console.log("On suspend"); 
}); 

cevap

8

onSuspend olayı yalnızca etkinlik sayfası etkin olmadığında tetiklenir.

Bildirim dosyanızda persistent: false bildirmediğiniz için arka plan sayfası , event page değil. Sonuç olarak, sayfa hiçbir zaman etkin olmayacaktır ve onSuspend olayı asla tetiklenmeyecektir.

Eğer

... 
    "background": { 
     "scripts": ["background.js"], 
     "persistent": false 
    } 
} 
+2

arka plan sayfası tarayıcı yakın/uzatma veya kaldırabilmektedir uzatma devre dışı olaylara inaktif hale olmamalı kullanmak, bir etkinlik sayfasında arka plan sayfayı çevirmek isterseniz? – Anton

+3

Bu olayları nasıl ele alabilirim? – Anton

+0

@Anton Yapamazsınız. Tarayıcı kapandığında, tüm uzantılar herhangi bir bildirimde bulunulmaksızın sonlandırılır. –

İlgili konular