Message: | Trying to access array offset on value of type null |
File: | /home/romarekl/public_html/sosyallift.com/ow_plugins/forum/controllers/topic.php |
Line: | 136 |
Aldığım istekler üzerine Opera 11 için geliştirdiğim Facebook Runner eklentisini Chrome'a uyarladım. Bu esnada Chrome uzantıları hakkında da bilgi sahibi oldum. Tıpkı Opera İçin Eklenti Yapımı yazılarımda olduğu gibi şimdi de Chrome İçin Uzantı Yapımı yazılarım başlıyor. Tabi bu Opera için daha fazla yazı yazmayacağım ya da kullanmayı bıraktığım anlamına gelmiyor. Şayet eklentiler ile ilgili iseniz sitemi menüdeki bağlantılar aracılığı ile takip etmenizi öneririm.
Tarayıcılar eklentiler ile daha da güçleniyor.
Uzantı Nedir? Eklenti Nedir?
Önceleri eklenti ismiyle anılan tarayıcı içi uygulamalar Google Chrome ile birlikte uzantı ismini aldı. İkisi de aynı anlamı taşıyor.
Çalışma Klasörünü Oluşturun:
İlk olarak uzantıyı geliştireceğiniz klasörü oluşturun. Örneğin, "merhabadunya" isimli bir klasör ilk uzantımız için uygun olabilir.
Uzantının Kalbi: manifest.json
Opera eklentilerindekii config.xml ile benzerlik gösteren bu dosya uzantımız ile ilgili çeşitli ayarlar ve bilgiler içeriyor. Bunlardan birkaçı:
Çalışma klasörünüze gidin ve boş bir Not Defteri dosyası oluşturun. İsmini manifest.json olarak değiştirin. Bu dosyanın içeriğini aşağıdaki gibi değiştirin:
{
"name": "Uzantı adı",
"version": "1.0",
"description": "Kısa tanım",
"icons": { "16": "icon_16.png",
"48": "icon_48.png",
"128": "icon_128.png" },
"homepage_url": "http://www.desteksayfasi.com/",
"default_locale": "tr",
"browser_action": {
"default_icon": "icon_16.png",
"name": "Uzantı adı",
"popup": "popup.html"
},
"background_page": "index.html",
"options_page": "options.html"
}
Şimdi bu dosyadaki bazı önemli satırlara ve kullanımlarına değinelim.
"icons": { ... }
Uzantının simgelerinin adresleri burada belirtiliyor. Üç simgenin de ayrı ayrı kullanıldığı yerler var:
"default_locale": "tr"
Uzantı çoklu dil desteğine sahipse varsayılan olarak hangi dilin seçileceğini belirtiyor. Tek dile sahip uzantılarda kullanmaya gerek yok.
"browser_action": {...}
Uzantı bir açılır pencereye sahip olacaksa pencere adresini burada belirtiyoruz. Opera 11 eklentimizdeMerhaba Dünya yazısını yazdırdığımız pencere ile aynı. Aynı zamanda pencereyi açmak için düğme simgesini ve düğme üzerine gelindiğinde gözükecek metin de burada belirleniyor.
"background_page": "index.html"
Opera 11 için eklenti geliştirken bahsetmiştim. Penceredeki kodlar sadece pencere açıkken çalışır. Eğerarkaplanda da kod çalıştırmak istiyorsak ayrı bir dosya kullanıyoruz. Bu bölümün kullanım amacı Opera eklentilerinde index.html dosyasının kullanımı ile aynı.
"options_page": "options.html"
Uzantı kullanıcıların özelleştirecebileceği çeşitli seçeneklere sahip olacaksa bu bölümde ayarların değiştirilmesi için hazırladığımız dosyanın adresini veriyoruz.
Daha Fazla Parametre:
Bir uzantıda yer alabilecek temel parametrelerden bahsettim. Şimdi biraz daha detaylara inelim.
"permissions": [ ]
Uzantının erişim izinlerinin ayarlandığı bu parametrenin kullanımı şu şekilde:
"permissions": [
"tabs",
"bookmarks",
"http://*.google.com/",
"unlimitedStorage"
]
"update_url"
Eğer uzantıyı Google Web Store yerine farklı bir sunucuda yayınlamak istiyorsanız kullanıcıların güncellemelerden haberlerinin olması için bu parametreyi kullanmalısınız. Kullanım şekli:
"update_url": "http://guncellemebilgisi.xml"
Güncelleme XML dosyaının içerği aşağıdaki gibi olmalıdır.
<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
<app appid='Uzantı Kimliği (ID)'>
<updatecheck codebase='http://sunucu/uzanti.crx' version='2.0' />
</app>
</gupdate>