Arama butonu
Bu konudaki kullanıcılar: 1 misafir
7
Cevap
198
Tıklama
0
Öne Çıkarma
Chrome'a extention yapmak
B
8 yıl
Binbaşı
Konu Sahibi

Hello world haric bildiginiz tutorial var mi? Yapmak istedigim sey mouse ile ustune cift tikladigim kelimeyi bilgisayarda bir dosyaya kaydetmek istiyorum. Amacim tamamen basit bir proje ile ugrasirken ogrenmek. Javascript ve chrome api kullanmam gerekiyor heralde. Daha once yazan varsa neler ogrenmem veya arastirmam gerektigini soyleyebilir mi?



< Bu ileti mobil sürüm kullanılarak atıldı >

T
8 yıl
Yarbay

chrome extension/uzantı ile ilg tutorial vardır, oradan başlayabilirsin. https://github.com/goldcase/alphaquotes da AngularJS kullanılarak yazılmış chrome extension kodları var, incelenerek fikir edinilebilir.



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
B
8 yıl
Binbaşı
Konu Sahibi

quote:

Orijinalden alıntı: revivo72

chrome extension/uzantı ile ilg tutorial vardır, oradan başlayabilirsin. https://github.com/goldcase/alphaquotes da AngularJS kullanılarak yazılmış chrome extension kodları var, incelenerek fikir edinilebilir.

tesekkur ederim bakiyorum simdi


Bu mesaja 1 cevap geldi.
T
8 yıl
Yarbay

alphaquotes adlı o Chrome uzantısını yeni sekme açınca özlü sözler gösterdiği için kurmuştum 4-5 sene evvel. Chrome ikinci tarayıcım old için sadece iki uzantı kurulu, diğeri Betternet Unlimited Free VPN Proxy 4.4.5. Alphaquotes'in hem yapısı basit, hem de kodları açık. En sevdiğim sözlerden biri SS'li :



< Resime gitmek için tıklayın >



< Bu ileti mini sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @blackwar19
Y
8 yıl
Yüzbaşı

Aslında bütün chrome uzantıları kodları 'okunabilecek' şekilde dağıtılıyor. Ancak okumak ve nasıl çalıştığını anlamaktan ötesine geçmek uzantının lisansını ilgilendirir.
Konu sahibi sorusunun cevabını bulmuştur sanıyorum ama yine de başka okuyan olursa diye yazayım.
manifest.json
      { 
"manifest_version":2,
"version":"1.0",
"name": "Yazı kaydetme",
"permissions": [
"contextMenus",
"activeTab"
],
"background": {
"scripts": ["main.js"]
}
}

main.js
sagTik = function(){ 
chrome.tabs.executeScript({
file: 'kaydetme.js'
});
};

chrome.contextMenus.create({
title: "Dosyaya Kaydet",
contexts:["selection"], // ContextType
onclick: sagTik // A callback function
});

kaydetme.js
var yazi=window.getSelection().toString(); 
var bb = new Blob([yazi], {type: 'text/plain'});
var a = document.createElement('a');
a.download = document.title.slice(0, 50).replace('/*[<>:/\\|?*]*/g', '')+'.txt';
a.href = window.URL.createObjectURL(bb);
a.dataset.downloadurl = ['text/plain', a.download, a.href].join(':');
a.click();
a.remove();

şeklinde minimal bir örneği yapılabilir.
chrome.tabs.executeScript içinde normal bir sayfada kullandığımız gibi açık olan sekmede javascript kullanabiliriz.
Dosyayı bilgisayara kaydedeceğimiz için adında olmaması gereken bazı karakterleri replace ile çıkardım.
Bütün bunları aynı klasörde toplayıp tarayıcının eklentiler/uzantılar sayfasında paketi açılmış uzantı yükle kısmından yükleyebiliriz.


Bu mesaja 1 cevap geldi.
M
8 yıl
Yarbay

Ben yazmistim gecen sene extension bir proje icin. Firefox ve Chrome da calisiyor, ayni kod-base ini kullaniyor. Baslangic icin sunlara bakilabilir:

https://github.com/mdn/webextensions-examples

WebExtensions uzerinden API ve yapilmasi gereken tweak'leri ogrenebilirsin.

https://developer.mozilla.org/en-US/Add-ons/WebExtensions



< Bu ileti tablet sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
B
8 yıl
Binbaşı
Konu Sahibi

quote:

Orijinalden alıntı: yoktur

Aslında bütün chrome uzantıları kodları 'okunabilecek' şekilde dağıtılıyor. Ancak okumak ve nasıl çalıştığını anlamaktan ötesine geçmek uzantının lisansını ilgilendirir.
Konu sahibi sorusunun cevabını bulmuştur sanıyorum ama yine de başka okuyan olursa diye yazayım.
manifest.json
      { 
"manifest_version":2,
"version":"1.0",
"name": "Yazı kaydetme",
"permissions": [
"contextMenus",
"activeTab"
],
"background": {
"scripts": ["main.js"]
}
}

main.js
sagTik = function(){ 
chrome.tabs.executeScript({
file: 'kaydetme.js'
});
};

chrome.contextMenus.create({
title: "Dosyaya Kaydet",
contexts:["selection"], // ContextType
onclick: sagTik // A callback function
});

kaydetme.js
var yazi=window.getSelection().toString(); 
var bb = new Blob([yazi], {type: 'text/plain'});
var a = document.createElement('a');
a.download = document.title.slice(0, 50).replace('/*[<>:/\\|?*]*/g', '')+'.txt';
a.href = window.URL.createObjectURL(bb);
a.dataset.downloadurl = ['text/plain', a.download, a.href].join(':');
a.click();
a.remove();

şeklinde minimal bir örneği yapılabilir.
chrome.tabs.executeScript içinde normal bir sayfada kullandığımız gibi açık olan sekmede javascript kullanabiliriz.
Dosyayı bilgisayara kaydedeceğimiz için adında olmaması gereken bazı karakterleri replace ile çıkardım.
Bütün bunları aynı klasörde toplayıp tarayıcının eklentiler/uzantılar sayfasında paketi açılmış uzantı yükle kısmından yükleyebiliriz.

cok tesekkur ederim oncelikle. Intenette arastirdim ama onerilen seyler hatayi gideremedi.

a.href = window.URL.createObjectURL(bb);


yukaridaki satirda unresolved variable diyor.

chrome icin url yerine webkitURL denedim sorunu cozmedi.



B
8 yıl
Binbaşı
Konu Sahibi

quote:

Orijinalden alıntı: Mephalay

Ben yazmistim gecen sene extension bir proje icin. Firefox ve Chrome da calisiyor, ayni kod-base ini kullaniyor. Baslangic icin sunlara bakilabilir:

https://github.com/mdn/webextensions-examples

WebExtensions uzerinden API ve yapilmasi gereken tweak'leri ogrenebilirsin.

https://developer.mozilla.org/en-US/Add-ons/WebExtensions

tesekkur ederim bakiyorum



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.