Chrome Uzantılarında neler oluyor?

Jale Buhar
Amy Steam

Chrome uzantıları dünyasında 2023 şimdiye kadar yoğun bir yıl oldu. Değerli geri bildirimleriniz, uzantı platformumuzu ve dokümanlarımızı iyileştirmemize olanak sağladı. Uzantı API'lerinin tarayıcılar arasında daha tutarlı bir şekilde çalışması için WebExtensions Topluluk Grubu'nda diğer tarayıcı tedarikçileriyle işbirliği yapmaya devam ediyoruz.

Bu yayında, Chrome uzantı ekibinin bu yılın ilk yarısında üzerinde çalıştığı birkaç değişikliği ve bu üç aylık dönemde kullanıma sunulacak yeni özellikleri sizlerle paylaşacağız. Haydi başlayalım!

Yeni uzantı API'leri ve özellikleri

Bu bölümde önemli API lansmanlarından bazılarını vurgulamak, diğer API iyileştirmelerini kısaca incelemek ve kullanıma sunulacak API sürümlerini paylaşmak istiyorum.

Öne çıkanlar

Ekran dışındaki dokümanlar

Çevrimdışı API, Chrome 109'da kullanıma sunulmuştur. Manifest V3 uzantılarının, DOM veya pencereyle etkileşim gerektiren kullanım alanlarını ele almasına olanak tanır. Bu kullanım, uzantı hizmet çalışanında gerçekleştirilemez. Chrome 114, ekran dışıyla ilgili iki ek neden sundu: Dokümanınızın bir çalışan oluşturması gereken örnekler için 'WORKERS' ve verilerin window.localStorage'den chrome.storage API'ye taşınmasına yardımcı olmak için 'LOCAL_STORAGE'.

Chrome 115'ten itibaren, ekran dışı doküman oluştururken birden fazla neden sunabilirsiniz. Bu özellik, aynı dokümanda iki ilişkili görevi gerçekleştirmenize olanak tanır.

Yeni Side Panel API'si 🎉

Geçmişte, uzantılarda kenar çubuğu oluşturmanın tek yolu, her sayfaya içerik komut dosyaları içeren yeni bir öğe eklemekti. Chrome 114'te Side Panel API kullanıma sunuldu. Artık kullanıcılar için çok daha basit bir şekilde tamamlayıcı kenar çubuğu deneyimi geliştirebilirsiniz. Side Panel API'nin nasıl üstün bir kullanıcı deneyimi tasarlamanızı sağladığı hakkında daha fazla bilgi edinin.

Seçili bir kelimenin tanımını gösteren bir sözlük uzantısı
Yan panel sözlük uzantısı. chrome-extensions-samples deposundaki koda bakın.

Daha güçlü Hizmet Çalışanları

Tüm uzantı etkinlikleri artık uzantı hizmeti çalışanının boşta kalma zamanlayıcısını yeniden başlatır. Chrome 110'da, uzantı hizmeti çalışanları için beş dakikalık maksimum kullanım ömrü kaldırıldı. Ayrıca, yerel uygulamalara gönderilen mesajlar ve uzantıdaki mesajlar boşta kalma zamanlayıcısını yeniden başlatır. Bu konu hakkında daha fazla bilgi için Uzantı hizmet çalışanı yaşam döngüsü başlıklı makaleyi inceleyin.

Daha fazla API lansmanı

  • İşlem API'si: Chrome 110 sürümünden itibaren, rozet metnini setBadgeTextColor() ve getBadgeTextColor() ile özelleştirebilirsiniz. Ayrıca, isEnabled() işlemin mevcut sekme için etkinleştirilip etkinleştirilmediğini kontrol etmenize olanak tanır.
  • Commands API: "commands._execute_action" altındaki manifest'te bildirilen uzantı kısayollarının MV3'e dönüştürülmesi sırasında devam etmesini engelleyen hata Chrome 111'de düzeltildi.
  • İndirilenler API'sı: Chrome'daki varsayılan indirilenler kullanıcı arayüzü, çok amaçlı adres çubuğunun sağ alt tarafındaki bir raftan taşındı. Bu davranışı devre dışı bırakmak için setShelfEnabled() yerine downloads.setUiOptions() kullanabilirsiniz.
  • History API: chrome.history.getVisits() ve chrome.history.search(), yerel geçmiş veritabanıyla senkronize edilen diğer cihazlardan da veri döndürür. Bu durum, daha fazla geçmiş girişi ve daha yüksek ziyaret sayısı elde edilmesine neden olabilir. isLocal, yalnızca yerel ziyaretlere göre filtreleme yapabilmek için Chrome 115'te VisitItem sürümüne eklendi (bu ayın ilerleyen günlerinde kararlı sürümde kullanıma sunulması bekleniyor).
  • Identity API: Kimlik doğrulama penceresi artık tam bir uygulama penceresini kaplamak yerine bir pop-up olarak görünür. JavaScript yönlendirmeleri sürecinde daha fazla kontrol sağlamak için iki yeni seçenek ekledik: abortOnLoadForNonInteractive ve timeoutMsForNonInteractive.
  • Storage API: Chrome 112'de chrome.session depolama alanı boyutu 10 MB'a yükseltilmiştir. Daha sonra, chrome.local depolama alanı boyutu Chrome 114'te eşleşecek şekilde değiştirildi.

Çok yakında...

Gelecek Chrome sürümleri, uzantıların Manifest V3'e taşınmasını kolaylaştıracak birçok özellik sunacaktır. MV3'e geçişle ilgili yapılacak değişikliklerin listesi için bilinen sorunlar sayfamıza göz atın. Buna ek olarak aşağıdaki özellikleri de eklemeyi planlıyoruz:

  • DeclarativeNetRequest API: isUrlFilterCaseSensitive özelliğinin varsayılan değeri false olarak değişecek. WECG ileti dizisine bakın.
  • File handling API, ChromeOS uzantılarının belirli MIME türlerine ve dosya uzantılarına sahip dosyaları açmasına izin verir. Bu özellik şu anda bayrağın arkasındadır.
  • Çalışma Zamanı API'si: Kullanımdan kaldırılan extension.getViews() API'sinin yerini alacak runtime.getContexts()'ı kullanıma sunuyoruz. Bu, uzantıların yan panel veya ekran dışı doküman gibi bir uzantı sayfasının açık olup olmadığını belirlemesine olanak tanır. WECG teklifini inceleyin.
  • Service çalışanları: Chrome API'lerine permissions.request(), desktopCapture.chooseDesktopMedia(), identity.launchWebAuthFlow() ve management.uninstall() adlı kullanıcı istemi gösteren güçlü canlı tutma özellikleri ekliyoruz.
  • Yan Panel API'si: sidepanel.open()'i kullanıma sunuyoruz. Bu özellik, içerik menüsü tıklaması gibi bir kullanıcı hareketine yanıt olarak uzantı yan panelini programatik olarak açacak.
  • TabCapture API: Uzantı hizmet çalışanından getMediaStreamId() yöntemini çağırma ve ekran dışındaki bir dokümandaki akış kimliğinden MediaStream alma özelliğini ekliyoruz. Örnekler için Ses kaydı ve ekran görüntüsü bölümüne bakın.

Chrome Beta'da kullanıma sunulduktan hemen sonra bu duyurular için Uzantılardaki yenilikler sayfasını takip etmeye devam edin.

Belge yükseltme ve daha fazla Manifest V3 kılavuzu

Ayrıca, geliştiricinin öğrenme deneyimini iyileştirmek için yoğun şekilde çalışıyoruz. Zaman ayırıp chromium-group hakkında soru soran ve developer.chrome.com adresindeki doküman sorunlarını bildiren herkese çok teşekkür ederiz.

Öne çıkanlar

  • Yeni MV3 Taşıma bölümü, Manifest V2 uzantılarını Manifest V3'e dönüştürmenin pratik yollarını sunar.
  • Uzantı hizmeti çalışanları kılavuzu, uzantı hizmet çalışanları konuları hakkında ayrıntılı bilgi sağlar. Bunların nasıl kaydedilip güncellendiklerini, yaşam döngüsünün nasıl olduğunu, içe aktarmaların nasıl çalıştığını vb. içerir.
  • Etkinlikleri Service Worker'larla işleme eğiticisinde, uzantı hizmet çalışanlarının temel bilgileri öğretilir. Uzantı API'sı referans sayfalarına hızlı bir şekilde erişebilmenizi sağlayan bir çok amaçlı adres çubuğu uzantısı oluşturur.

Daha fazla haber

Çok yakında...

  • Uzaktan barındırılan kodu Manifest V3'e taşıma
  • Chrome uzantıları için otomatik testler çalıştırma.
  • Bildirim temelli net istek kılavuzu iyileştirildi.
  • İçerik komut dosyası açıklayıcıda iyileştirmeler.

💡 Biliyor muydunuz?

Bitirmeden önce, birkaç faydalı araç ve bilgi paylaşmak istedik:

  • Chrome, WebHID'yi desteklemek için çalışmaya başladı. Chrome 115'ten itibaren API'de değişiklikler yapabilirsiniz (ancak bunun hâlâ devam ettiğini unutmayın).
  • Puppeteer artık --headless=new kullanarak gözetimsiz modda test etmeyi destekliyor . Bu konuyla ilgili daha fazla bilgiyi Chrome'un gözetimsiz mod yükseltme blog yayınında bulabilirsiniz.
  • Uzantı Güncelleme Test Aracı ile, manifest dosyasında izinler değiştiğinde hangi uyarıların tetiklendiğini kontrol edebilirsiniz. Bu şekilde, güncelleme işlemini bir kullanıcı gibi siz de yaşayabilirsiniz. Kullanıcı tekrar erişim izni verene kadar bazı izinler uzantıyı devre dışı bırakabileceğinden bu önemlidir.

Bağlanalım. 🙌

Uzantı ekibi bu yıl, Google I/O Connect etkinliklerinde uzantı geliştiricileriyle bizzat tanışmanın keyfini yaşadı. Sizinle bağlantı kurabileceğiniz yeni alanlar oluşturma (ör. odak grupları ve buluşma etkinlikleri başlatma) üzerinde çalışıyoruz.

Bu sırada lütfen chromium-groups soru sormaya devam edin, WECG'ye katılmayı düşünün ve tüm doküman sorunlarını developer.chrome.com GitHub deposunda bildirin.

Uzantı geliştirici topluluğunun bir parçası olduğunuz için tekrar teşekkür ederiz.