24

Kod, kullanıcının konsol için görüntülediği sayfa için geçerli sekme nesnesini çıkarması anlamına gelir, ancak yalnızca tanımlanmamış çıktılar. Bir tarayıcı eylem sayfasından çalıştırılır.Sayfa nesnesini bir Chrome uzantısında almak için chrome.tabs.getCurrent öğesini nasıl kullanıyorsunuz?

chrome.tabs.getCurrent(function(tab){ 
    console.log(tab); 
}); 

Ben documentation baktım ve bildiğim kadarıyla söyleyebilirim kodu ne diyor maç gibi görünüyor.

+1

Tarayıcı Eylem açılan sayfalar herhangi bir sekmenin parçası değildir, yani 'tabs.getCurrent()' çalışmaz. Bunun yerine, 'tabs.getSelected() 'ile serginin cevabı hile yapmalıdır. –

cevap

17

Dene:

chrome.tabs.getSelected(null, function(tab){ 
    console.log(tab); 
}); 
+6

Çalışmaları, teşekkür ederim! ama neden? : -/ –

+5

Kullanımdan kaldırıldı, aşağıdaki Konstantin yanıtına bakınız. – lionello

+0

'getCurrent()', kullanımdan kaldırılan 'getSelected()' veya aşağıdaki yanıtla neredeyse aynı değil; ilk yöntem, komut dosyasının içinde çalıştığı sekmeyi alırken, ikincisi geçerli seçili (etkin) sekmeyi alır – novalain

81

(henüz güncelleştirilmiş vardı ama resmi belgelerde Birçok makale) Google Chrome 16 zamandan beri kullanılmadığından getSelected() yöntemi. Official message is here. Belirtilen pencerede seçilen sekmeyi almak için {'active': true} argümanı ile chrome.tabs.query() kullanın. Yani şimdi şöyle olmalı:

chrome.tabs.query({ currentWindow: true, active: true }, function (tabs) { 
    console.log(tabs[0]); 
}); 
+0

bu her zaman geri aramada 0 uzunluk dizisini döndürür ( – SuperUberDuper

+0

Bir masaüstünde 2 krom pencerem açık olduğunda, her biri bana bir sekme gösterirse, bu durumda> 1 etkin sekmeye sahip olmak mümkün müdür? – lsheng

İlgili konular