Başlangıç bölümünü okuduktan sonra bu kılavuzu, uzantı bileşenleri, bunların özellikleri ve nasıl birleştirileceği konusunda bir taslak olarak kullanın. Öncelikle uzantıların neler yapabileceği hakkında bilgi edinin: 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.
browser.sidePanel API'sini kullanarak web sayfasının ana içeriğinin yanında, tarayıcının yan panelinde içerik barındırı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 bir Geliştirici Araçları sayfası aracılığıyla Geliştirici Araçları'na özel uzantı API'lerine erişerek Chrome Geliştirici Araçları'na işlevsellik ekler. Chrome'un uzaktan hata ayıklama protokolünü çağırmak için browser.debugger API'sini de kullanabilirsiniz. Ağ etkileşimini ölçmek, JavaScript'te hata ayıklamak, DOM'u değiştirmek ve daha fazlası için bir veya daha fazla sekmeye ekleyin.
browser.notifications API, şablonları kullanarak bildirimler oluşturmanıza ve bu bildirimleri kullanıcının sistem tepsisinde göstermenize olanak tanır.
Ziyaret edilen sayfaların tarayıcı kaydıyla etkileşimde bulunmak için browser.history API'yi, diğer tarama verilerini yönetmek için browser.browsingData API'yi kullanın. En çok ziyaret edilen sitelere erişmek için browser.topSites simgesini kullanın.
Kullanıcının tarayıcısını oluşturmak, değiştirmek ve düzenlemek için browser.tabs, browser.tabGroups ve browser.windows gibi API'leri kullanın.
Uzantınızda işlemleri tetikleyen klavye kısayolları eklemek için browser.commands API'sini kullanın. Örneğin, tarayıcı işlemini açmak veya uzantıya komut göndermek için kısayol ekleyebilirsiniz.
OAuth 2.0 erişim jetonlarını almak için browser.identity API'sini kullanın.
browser.management API, yüklü ve çalışan uzantıların listesini yönetme yöntemleri sunar. Bu özellik, özellikle yerleşik yeni sekme sayfasını geçersiz kılan uzantılar için yararlıdır.
browser.omnibox API, bir anahtar kelimeyi Google Chrome'un çok amaçlı adres çubuğuna (adres çubuğu) kaydetmenize olanak tanır.
Kullanıcının gizliliğini etkileyebilecek Chrome özelliklerinin kullanımını kontrol etmek için browser.privacy API'sini kullanın. Chrome'un proxy ayarlarını yönetmek için browser.proxy API'ye de bakın.
İndirmeleri programatik olarak başlatmak, izlemek, değiştirmek ve aramak için browser.downloads API'yi kullanın.
Bu listeleri oluşturmak, düzenlemek ve başka şekillerde değiştirmek için browser.bookmarks API'yi ve browser.readingList API'yi 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 browser.declarativeNetRequest, browser.webRequest ve browser.webNavigation API'lerini kullanın.
browser.tabCapture veya getDisplayMedia() gibi web platformu API'lerini kullanarak sekme, pencere ya da ekrandan ses ve video kaydetmeyle ilgili farklı yaklaşımlar hakkında bilgi edinin.
Web sitelerinin çerezler, JavaScript ve eklentiler gibi özellikleri kullanıp kullanamayacaklarını kontrol etmek için browser.contentSettings API'sini kullanın. Daha genel bir ifadeyle, içerik ayarları Chrome'un davranışını genel 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.
Chrome Uzantılarında içerik ve ağ filtreleme uygulamanın farklı yolları vardır. Uzantıların kullanabileceği içerik filtreleme özellikleri ve Chrome Uzantıları tarafından kullanılabilecek farklı filtreleme yaklaşımları, teknikleri ve API'leri hakkında bilgi edinin.
İç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.
Chrome'un uzantı güncelleme akışını nasıl güncellediğini ve uzantı güncellemelerinin dağıtımını nasıl izleyeceğinizi öğrenin.

Diğer konular