Başlarken bölümünü okuduktan sonra bu kılavuzu; uzantı bileşenleri, bunların Manifest V3'teki özellikleri ve bunları nasıl birleştireceğiniz konusunda ana hatlarıyla inceleyin. Öncelikle hangi uzantıların yapılabileceğini öğrenin: Ardından, uzantılarla ilgili temel kavramlar bölümünü kullanarak bu özellikleri nasıl birleştireceğinizi öğrenin.

Kullanıcı arayüzünü tasarlama

Çoğu uzantının çalışması için bir tür kullanıcı etkileşimi gerekir. Uzantı platformu, uzantınıza etkileşim eklemek için çeşitli yollar sunar. Bu yöntemler arasında Chrome araç çubuğundan, yan panellerden, içerik menülerinden ve diğer kaynaklardan tetiklenen pop-up'lar yer alır.
Tarayıcının yan panelinde, bir web sayfasının ana içeriğinin yanında içerik barındırmak için chrome.sidePanel API'sini kullanın.
Araç çubuğunda uzantı simgesinin görüntülenmesini denetleyin.
Google Chrome'un içerik menüsüne öğe ekleyin.

Tarayıcıyı kontrol etme

Chrome'un uzantı API'leri, tarayıcınızın çalışma şeklini değiştirmenizi mümkün kılar.
Ayarları geçersiz kılma yöntemi, uzantıların seçili Chrome ayarlarını geçersiz kılmasına olanak tanır. Ayrıca uzantılar, Google Chrome'un normalde sağladığı bir sayfanın yerine HTML sayfaları geçersiz kılma özelliğini kullanabilir. Bir uzantı, yer işareti yöneticisini, geçmiş sekmesini veya yeni sekmeyi geçersiz kılabilir.
Geliştirici Araçları uzantıları, uzantıya eklenen Geliştirici Araçları sayfası üzerinden Geliştirici Araçları'na özel uzantı API'lerine erişerek Chrome Geliştirici Araçları'na işlev ekler. Chrome'un uzaktan hata ayıklama protokolünü çağırmak için chrome.debugger API'yi de kullanabilirsiniz. Araç ağı etkileşimi, JavaScript'te hata ayıklama, DOM'u değiştirme ve daha birçok işlem için bir veya daha fazla sekmeye ekleyin.
chrome.notifications API, şablonları kullanarak bildirimler oluşturmanıza ve bu bildirimleri kullanıcının sistem tepsisinde kullanıcılara göstermenize olanak tanır.
Tarayıcının ziyaret edilen sayfa kayıtlarıyla etkileşimde bulunmak için chrome.history API'yi, diğer tarama verilerini yönetmek için chrome.browsingData API'yi kullanın. En çok ziyaret edilen sitelere erişmek için chrome.topSites adresini kullanın.
Kullanıcının tarayıcısını oluşturmak, değiştirmek ve düzenlemek için chrome.tabs, chrome.tabGroups ve chrome.windows gibi API'leri kullanın.
Uzantınızdaki işlemleri tetikleyen klavye kısayolları eklemek için chrome.commands API'sini kullanın. Örneğin, tarayıcı işlemini açmak için bir kısayol ekleyebilir veya uzantıya komut gönderebilirsiniz.
OAuth 2.0 erişim jetonları almak için chrome.identity API'yi kullanın.
chrome.management API, yüklü ve çalışan uzantıların listesini yönetmenin yollarını sağlar. Bu, özellikle yerleşik Yeni Sekme sayfasını geçersiz kılan uzantılar için kullanışlıdır.
chrome.omnibox API'si, Google Chrome'un çok amaçlı adres çubuğuna (adres çubuğu) anahtar kelime kaydetmenize olanak tanır.
Chrome'daki, kullanıcıların gizliliğini etkileyebilecek özelliklerin kullanımını kontrol etmek için chrome.privacy API'yi kullanın. Chrome'un proxy ayarlarını yönetmek için chrome.proxy API'ye de bakın.
İndirmeleri programatik olarak başlatmak, izlemek, değiştirmek ve aramak için chrome.downloads API'yi kullanın.
Bu listeleri oluşturmak, düzenlemek ve başka şekillerde değiştirmek için chrome.bookmarks API'sini ve chrome.readingList API'sini kullanın.

Web'i kontrol edin

Web sayfalarının içeriğini ve davranışını dinamik olarak değiştirin. Komut dosyaları ekleyerek, ağ isteklerine müdahale ederek ve web sayfalarıyla etkileşim kurmak için web API'leri kullanarak web'i kontrol edebilir ve değiştirebilirsiniz.
İçerik komut dosyaları, web sayfaları bağlamında çalışan dosyalardır. Tarayıcının ziyaret ettiği web sayfalarının ayrıntılarını okumak, bu sayfalarda değişiklik yapmak ve bilgileri üst uzantılarına iletmek için standart Belge Nesne Modeli'ni (DOM) kullanırlar.
"activeTab" izni, kullanıcı uzantıyı çağırdığında (örneğin, işlemini tıklayarak) bir uzantının o anda etkin olan sekmeye geçici olarak erişmesine izin verir. Sekmeye erişim, kullanıcı bu sayfadayken devam eder ve kullanıcı sayfadan ayrıldığında veya sekmeyi kapattığında iptal edilir.
Ağ isteklerini gözlemlemek, engellemek ve değiştirmek için chrome.declarativeNetRequest, chrome.webRequest ve chrome.webNavigation API'lerini kullanın.
chrome.tabCapture veya getDisplayMedia() gibi web platformu API'lerini kullanarak bir sekmeden, pencereden veya ekrandan ses ve video kaydetmeye yönelik farklı yaklaşımlar hakkında bilgi edinin.
Web sitelerinin çerezler, JavaScript ve eklentiler gibi özellikleri kullanıp kullanamayacağını kontrol etmek için chrome.contentSettings API'sini kullanın. Daha genel olarak açıklamak gerekirse içerik ayarları, Chrome'un davranışını global olarak değil, site bazında özelleştirmenize olanak tanır.

Temel kavramlar

Web platformu ve uzantı API'lerini kullanarak farklı kullanıcı arayüzü bileşenleri ile uzantı platformu özelliklerini birleştirerek daha karmaşık özellikler oluşturabilirsiniz.
Uzantı hizmet çalışanı (service-worker.js), tarayıcının arka planda çalıştırdığı etkinliğe dayalı bir komut dosyasıdır. Genellikle verileri işlemek, bir uzantının farklı bölümlerindeki görevleri koordine etmek ve bir uzantının etkinlik yöneticisi olarak kullanılır.
İzinlerin nasıl çalıştığını ve ihtiyaç duyulmadığında izin istemekten ne zaman kaçınabileceğinizi öğrenin.
İçerik komut dosyalarının veya diğer uzantı sayfalarının çoğu zaman uzantı hizmeti çalışanına bilgi göndermesi veya alması gerekir. Bu tür durumlarda, iki taraf da diğer taraftan gönderilen mesajları dinleyebilir ve aynı kanaldan yanıt verebilir.
Yerel uygulamalarla mesaj alışverişi yapmak için uzantılarınızı etkinleştirin.
Manifest V3 uzantıları, kullandıkları tüm kodu uzantının kendi içinde paket haline getirmelidir. Bunu yapmak için farklı stratejiler vardır.
Chrome Uzantılarının tüm uzantı bileşenleri tarafından kullanılabilen özel bir Depolama API'si vardır. Belirli kullanım alanları için dört ayrı depolama alanı ve veriler güncellendiğinde takip eden bir etkinlik işleyici içerir.
Service Worker'ların DOM erişimi yoktur. Offscreen API'si, uzantının yeni pencereler veya sekmeler açarak kullanıcı deneyimini kesintiye uğratmadan gizli bir dokümanda DOM API'lerini kullanmasına olanak tanır.
Kaynaklar arası erişime kapalı web sayfaları, SharedArrayBuffer gibi güçlü özellikleri kullanabilir. Bir uzantı, "cross_origin_embedder_policy" ve "cross_origin_opener_policy" manifest anahtarları için uygun değerleri belirterek kaynaklar arası yalıtımı etkinleştirebilir.