Soru Chrome uzantısı için mevcut sekme URL'sini nasıl alabilirim?


SO hakkında çok benzer soruların olduğunu biliyorum, ancak çalışmayı başaramıyorum.

Mevcut uzantının URL'sini Chrome uzantımdan almaya çalışıyorum. Daha sonra, uyarı (tab.url) "Tanımsız" değerini döndürür. Manifest.json'daki izinlerime "sekmeleri" ekledim. Herhangi bir fikir?

<html>
<head>
<script>

    chrome.tabs.getSelected(null, function(tab) {
        tab = tab.id;
        tabUrl = tab.url;

        alert(tab.url);
    });

</script>
</head>

44
2018-05-25 23:13


Menşei


Bu yöntem kullanımdan kaldırılmıştır. Bir göz at! - Reyraa
Bir sorgu / anketten kaçınmanın ve aktif sekmeyi belirlemek için bir tıklamayı dinlemenin bir yolu var mı? - Alexander Mills


Cevaplar:


Sorun şu satırda:

tab = tab.id;

Böyle bir şey olmalı:

var tabId = tab.id;

28
2018-05-26 00:01



Vay canına, ben bir aptalım. Teşekkürler! - rybo
Değişken sekmesini yanlışlıkla değiştirdiniz ... bir dahaki sefere dikkatli olun :) - fedmich
getSelected onaylanmadı. Lütfen tabs.query {active: true} kullanın sekme # yöntem-getSelected - oshliaer
Merhaba ihtiyacım var odaklı sekme bilgisi.. tarayıcımda 5'den fazla sekme varsa, tıklatılmış (odaklanmış) sekme 1se "eylem tetikleyicisi" veya sekme 2/3/4/5 ise .. her sekme odaklandığında o zaman tetiklemelidir. ne yapabilirim ? - Mani Kasi


Google'dan insanlar için sadece bir FYI:

OP'nin kullandığı yöntem kullanımdan kaldırılmıştır. Kullanıcının görüntülediği sekmeyi ve yalnızca görüntüledikleri pencereyi kullanmak için şunu kullanın:

  chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {

     // since only one tab should be active and in the current window at once
     // the return variable should only have one entry
     var activeTab = tabs[0];
     var activeTabId = activeTab.id; // or do whatever you need

  });

84
2017-07-24 06:16



Eski yol birden fazla nedenden dolayı işe yaramayacağından bu şimdi seçilmelidir. - NateDSaint


Bu benim için çalıştı:

chrome.tabs.query({
    active: true,
    lastFocusedWindow: true
}, function(tabs) {
    // and use that tab to fill in out title and url
    var tab = tabs[0];
    console.log(tab.url);
    alert(tab.url);
});

5
2017-09-11 18:35



Cevabınız benim için çalıştı. Teşekkürler! - elegant-user


manifest.json =>

"izinler": [     "Sekmeleri"   ]

js =>

       chrome.tabs.query({
            active: true,
            lastFocusedWindow: true
        }, function(tabs) {
            // and use that tab to fill in out title and url
            var tab = tabs[0];
            console.log(tab.url);
            alert(tab.url);
        });

1
2017-07-29 06:44



Teşekkürler o çalışır - Deepak Chawla


ES6'nın biraz yardımıyla, güzel bir kod yazabilirsiniz :)

chrome.tabs.query({
  active: true,
  currentWindow: true
}, ([currentTab]) => {
  console.log(currentTab.id);
});

0
2018-02-12 20:41





Bu benim tabidimi nasıl alırım:

var queryStr = '?tabId=';
var tabID = parseInt(location.search.substring(queryStr.length));

-3
2018-02-12 17:52