2011-03-15 18 views
5

Her 10 dakikada bir güncellemeyi sürekli olarak sürdürdüğüm bir background.html gereksinimim var ve pop-up'ı tıklattığımda arka planın hemen güncellenmesi ve sonuçların pop-up'ında gösterilmesi gerekir.krom uzatma açılır pencere ve arka plan ajax

Ajax çalışmasını kullanarak arka plan güncellemem var ve ajax kullanarak da anında güncelleme yapmak için pop-up'ı arka planı tetikliyorum. Ancak, pop-up'taki en son sonucu nasıl görüntüleyeceğime takılıyorum ... Arka plan ajax çağrısının ne zaman tamamlandığını ve pop-up'taki en son sonucu nasıl gösterdiğimi nasıl anlarım? Eğer Arkaplan Sayfasında değişiklikleri işler istiyorsanız

sayesinde

cevap

13

Eh, ne istediğinizi yapmak için iki yol vardır. senin Popup olarak

  1. , size chrome.extension.sendRequest sen şeyler güncellenen alabilirsiniz zaman Popup sayfasında chrome.extension.onRequest.addListener kayıt ve arka plan sayfasında olabilir.
  2. Popup DOM'a doğrudan erişiminiz var, bir örneğini chrome.extension.getViews({type:'popup'})'dan edinebilirsiniz ve bunu aldıktan sonra, yalnızca DOM'de bir yöntemi çağırabilirsiniz. Açılır pencereden arka plan sayfasına chrome.extension.getBackgroundPage() ile kolayca erişebilirsiniz. Her iki durumda da, bir DOMWindow döndürülür.

Kişisel olarak aynı uzantı sürecine ait olduğunuz için # 2 kullanırım, çünkü bir enjekte edilen İçerik Komut Dosyası ile iletişim kurmanıza gerek yoktur.

var popups = chrome.extension.getViews({type: "popup"}); 
if (popups.length != 0) { 
    var popup = popups[0]; 
    popup.doSomething(); 
} 

Bu yardımcı olur umarım.

+0

Ben chrome.extension.getViews (['popup']) yapmak istiyorum ama bana beklenmeyen dizi söyleyerek bir hata verir ... – khan

+0

Yakalanmamış Hata: argüman için geçersiz değer 1. 'object' bekleniyor ama var ' dizi'. – khan

+0

Her zaman belgeleri okumalıyım, kod yazmamıştım :) http://code.google.com/chrome/extensions/extension.html#method-getViews Cevabımı bazı kodlarla güncelledim. –

İlgili konular