Açıklama
Yer işaretleri oluşturmak, düzenlemek ve başka işlemler yapmak için chrome.bookmarks API'yi kullanın. Özel bir Yer İşareti Yöneticisi sayfası oluşturmak için kullanabileceğiniz Geçersiz Kılma Sayfaları'na da bakın.
İzinler
bookmarksYer işaretleri API'sini kullanmak için uzantı manifest dosyasında "yer işaretleri" iznini beyan etmeniz gerekir. Örneğin:
{
"name": "My extension",
...
"permissions": [
"bookmarks"
],
...
}
Kavramlar ve kullanım
Nesneler ve özellikler
Yer işaretleri bir ağaç yapısında düzenlenir. Ağaçtaki her düğüm bir yer işareti veya klasördür (bazen grup olarak adlandırılır). Ağaçtaki her düğüm bir bookmarks.BookmarkTreeNode nesnesiyle temsil edilir.
BookmarkTreeNode özellikleri, browser.bookmarks API'si genelinde kullanılır. Örneğin, bookmarks.create yöntemini çağırdığınızda yeni düğümün üst öğesini (parentId) ve isteğe bağlı olarak düğümün index, title ve url özelliklerini iletirsiniz. Bir düğümün sahip olabileceği özellikler hakkında bilgi için bookmarks.BookmarkTreeNode sayfasına bakın.
Örnekler
Aşağıdaki kod, "Uzantı yer işaretleri" başlıklı bir klasör oluşturur. create() için ilk bağımsız değişken, yeni klasörün özelliklerini belirtir. İkinci bağımsız değişken, klasör oluşturulduktan sonra yürütülecek bir işlevi tanımlar.
browser.bookmarks.create(
{'parentId': bookmarkBar.id, 'title': 'Extension bookmarks'},
function(newFolder) {
console.log("added folder: " + newFolder.title);
},
);
Bir sonraki snippet, uzantılar için geliştirici belgelerine yönlendiren bir yer işareti oluşturur. Yer işaretinin oluşturulamaması durumunda kötü bir şey olmayacağından bu kodda geri çağırma işlevi tanımlanmamıştır.
browser.bookmarks.create({
'parentId': extensionsFolderId,
'title': 'Extensions doc',
'url': 'https://developer.chrome.com/docs/extensions',
});
Bu API'yi denemek için chrome-extension-samples deposundan Bookmarks API örneğini yükleyin.
Türler
BookmarkTreeNode
Yer işareti ağacındaki bir düğüm (yer işareti veya klasör). Alt düğümler, üst klasörlerinde sıralanır.
Özellikler
-
çocuklar
BookmarkTreeNode[] isteğe bağlı
Bu düğümün alt öğelerinin sıralı listesi.
-
dateAdded
number isteğe bağlı
Bu düğümün oluşturulduğu zaman (epoch'tan bu yana geçen milisaniye cinsinden) (
new Date(dateAdded)). -
dateGroupModified
number isteğe bağlı
Bu klasörün içeriğinin son değiştirilme zamanı (epoch'tan bu yana milisaniye cinsinden).
-
dateLastUsed
number isteğe bağlı
Chrome 114 ve sonraki sürümler Chrome 148'den itibaren browser.*Bu düğümün en son açıldığı zaman (epoch'tan bu yana milisaniye cinsinden). Klasörler için ayarlanmaz.
-
folderType
FolderType isteğe bağlı
Chrome 134 ve sonraki sürümler Chrome 148'den itibaren browser.*Varsa bu, tarayıcı tarafından eklenen ve kullanıcı veya uzantı tarafından değiştirilemeyen bir klasördür. Bu düğümde
unmodifiableözelliği ayarlanmamışsa alt düğümler değiştirilebilir. Düğüm, kullanıcı ve uzantı tarafından değiştirilebiliyorsa (varsayılan) atlanır.Her klasör türünde sıfır, bir veya birden fazla düğüm olabilir. Klasörler tarayıcı tarafından eklenebilir veya kaldırılabilir ancak uzantılar API'si aracılığıyla eklenemez ya da kaldırılamaz.
-
id
dize
Düğümün benzersiz tanımlayıcısı. Kimlikler mevcut profilde benzersizdir ve tarayıcı yeniden başlatıldıktan sonra da geçerli kalır.
-
indeks
number isteğe bağlı
Bu düğümün üst klasöründeki 0 tabanlı konumu.
-
parentId
string isteğe bağlı
Üst klasörün
id. Kök düğüm için atlanır. -
senkronize ediliyor
boole
Chrome 134 ve sonraki sürümler Chrome 148'den itibaren browser.*Bu düğümün, tarayıcı tarafından kullanıcının uzak hesap depolama alanıyla senkronize edilip edilmediği. Bu, aynı
FolderTypeöğesinin hesap ve yalnızca yerel sürümleri arasında ayrım yapmak için kullanılabilir. Bu özelliğin değeri, mevcut bir düğüm için değişebilir (ör. kullanıcı işleminin sonucu olarak).Not: Bu, düğümün tarayıcının yerleşik hesap sağlayıcısına kaydedilip kaydedilmediğini gösterir. Bu değer yanlış olsa bile bir düğümün üçüncü taraf aracılığıyla senkronize edilmesi mümkündür.
Yönetilen düğümler (
unmodifiabledeğerinintrueolarak ayarlandığı düğümler) için bu özellik her zamanfalseolur. -
title
dize
Düğüm için görüntülenen metin.
-
değiştirilemez
"managed"
isteğe bağlıBu düğümün değiştirilememe nedenini gösterir.
manageddeğeri, bu düğümün sistem yöneticisi veya gözetimli kullanıcının velisi tarafından yapılandırıldığını gösterir. Düğüm, kullanıcı ve uzantı tarafından değiştirilebiliyorsa (varsayılan) atlanır. -
url
string isteğe bağlı
Kullanıcı yer işaretini tıkladığında gidilen URL. Klasörler için atlanır.
BookmarkTreeNodeUnmodifiable
Bu düğümün değiştirilememe nedenini gösterir. managed değeri, bu düğümün sistem yöneticisi tarafından yapılandırıldığını gösterir. Düğüm, kullanıcı ve uzantı tarafından değiştirilebiliyorsa (varsayılan) atlanır.
Değer
"managed"
CreateDetails
create() işlevine iletilen nesne.
Özellikler
-
indeks
number isteğe bağlı
-
parentId
string isteğe bağlı
Varsayılan olarak Diğer Yer İşaretleri klasörü kullanılır.
-
title
string isteğe bağlı
-
url
string isteğe bağlı
FolderType
Klasörün türünü belirtir.
Enum
"bookmarks-bar"
İçeriği tarayıcı penceresinin üst kısmında gösterilen klasör.
"other"
Tüm platformlarda yer işaretlerinin tam listesinde gösterilen yer işaretleri.
"mobile"
Genellikle kullanıcının mobil cihazlarında kullanılabilen ancak uzantı tarafından veya yer işareti yöneticisinde değiştirilebilen yer işaretleri.
"managed"
Sistem yöneticisi veya gözetimli kullanıcının velisi yer işaretlerini yapılandırdıysa mevcut olabilecek üst düzey bir klasör.
Özellikler
MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE
Yer işareti yazma işlemleri artık Chrome tarafından sınırlandırılmıyor.
Değer
1000000
MAX_WRITE_OPERATIONS_PER_HOUR
Yer işareti yazma işlemleri artık Chrome tarafından sınırlandırılmıyor.
Değer
1000000
ROOT_NODE_ID
Kök düzeyindeki düğümle ilişkili id.
Değer
"0"
Yöntemler
create()
browser.bookmarks.create(
bookmark: CreateDetails,
): Promise<BookmarkTreeNode>
Belirtilen parentId altında bir yer işareti veya klasör oluşturur. URL, NULL ise veya eksikse klasör olur.
Parametreler
-
yer işareti
İadeler
-
Promise<BookmarkTreeNode>
Chrome 90 ve sonraki sürümler Chrome 148'den itibaren browser.*
get()
browser.bookmarks.get(
idOrIdList: string | [string, ...string[]],
): Promise<BookmarkTreeNode[]>
Belirtilen BookmarkTreeNode'ları alır.
Parametreler
-
idOrIdList
string | [string, ...string[]]
Dize değerli tek bir kimlik veya dize değerli kimliklerden oluşan bir dizi
İadeler
-
Promise<BookmarkTreeNode[]>
Chrome 90 ve sonraki sürümler Chrome 148'den itibaren browser.*
getChildren()
browser.bookmarks.getChildren(
id: string,
): Promise<BookmarkTreeNode[]>
Belirtilen BookmarkTreeNode kimliğinin alt öğelerini alır.
Parametreler
-
id
dize
İadeler
-
Promise<BookmarkTreeNode[]>
Chrome 90 ve sonraki sürümler Chrome 148'den itibaren browser.*
getRecent()
browser.bookmarks.getRecent(
numberOfItems: number,
): Promise<BookmarkTreeNode[]>
Son eklenen yer işaretlerini alır.
Parametreler
-
numberOfItems
sayı
Döndürülecek maksimum öğe sayısı.
İadeler
-
Promise<BookmarkTreeNode[]>
Chrome 90 ve sonraki sürümler Chrome 148'den itibaren browser.*
getSubTree()
browser.bookmarks.getSubTree(
id: string,
): Promise<BookmarkTreeNode[]>
Belirtilen düğümden başlayarak Yer İşaretleri hiyerarşisinin bir bölümünü alır.
Parametreler
-
id
dize
Alınacak alt ağacın kökünün kimliği.
İadeler
-
Promise<BookmarkTreeNode[]>
Chrome 90 ve sonraki sürümler Chrome 148'den itibaren browser.*
getTree()
browser.bookmarks.getTree(): Promise<BookmarkTreeNode[]>
Yer işaretleri hiyerarşisinin tamamını alır.
İadeler
-
Promise<BookmarkTreeNode[]>
Chrome 90 ve sonraki sürümler Chrome 148'den itibaren browser.*
move()
browser.bookmarks.move(
id: string,
destination: object,
): Promise<BookmarkTreeNode>
Belirtilen BookmarkTreeNode'u sağlanan konuma taşır.
Parametreler
-
id
dize
-
hedef
nesne
-
indeks
number isteğe bağlı
-
parentId
string isteğe bağlı
-
İadeler
-
Promise<BookmarkTreeNode>
Chrome 90 ve sonraki sürümler Chrome 148'den itibaren browser.*
remove()
browser.bookmarks.remove(
id: string,
): Promise<void>
Bir yer işaretini veya boş bir yer işareti klasörünü kaldırır.
Parametreler
-
id
dize
İadeler
-
Promise<void>
Chrome 90 ve sonraki sürümler Chrome 148'den itibaren browser.*
removeTree()
browser.bookmarks.removeTree(
id: string,
): Promise<void>
Bir yer işareti klasörünü yinelemeli olarak kaldırır.
Parametreler
-
id
dize
İadeler
-
Promise<void>
Chrome 90 ve sonraki sürümler Chrome 148'den itibaren browser.*
search()
browser.bookmarks.search(
query: string | object,
): Promise<BookmarkTreeNode[]>
Belirtilen sorguyla eşleşen BookmarkTreeNodes'u arar. Bir nesneyle belirtilen sorgular, belirtilen tüm özelliklerle eşleşen BookmarkTreeNodes üretir.
Parametreler
-
sorgu
string | object
Yer işareti URL'leri ve başlıklarıyla eşleşen bir kelime dizesi ve tırnak içine alınmış ifadeler ya da bir nesne. Nesne ise
query,urlvetitleözellikleri belirtilebilir ve belirtilen tüm özelliklerle eşleşen yer işaretleri oluşturulur.-
sorgu
string isteğe bağlı
Yer işareti URL'leri ve başlıklarıyla eşleşen bir dizi kelime ve tırnak içine alınmış kelime öbeği.
-
title
string isteğe bağlı
Yer işaretinin başlığı; tam olarak eşleşir.
-
url
string isteğe bağlı
Yer işaretinin URL'si; tam olarak eşleşir. Klasörlerin URL'si olmadığını unutmayın.
-
İadeler
-
Promise<BookmarkTreeNode[]>
Chrome 90 ve sonraki sürümler Chrome 148'den itibaren browser.*
update()
browser.bookmarks.update(
id: string,
changes: object,
): Promise<BookmarkTreeNode>
Bir yer işaretinin veya klasörün özelliklerini günceller. Yalnızca değiştirmek istediğiniz özellikleri belirtin. Belirtilmeyen özellikler değiştirilmez. Not: Şu anda yalnızca "title" ve "url" desteklenmektedir.
Parametreler
-
id
dize
-
değişiklikler
nesne
-
title
string isteğe bağlı
-
url
string isteğe bağlı
-
İadeler
-
Promise<BookmarkTreeNode>
Chrome 90 ve sonraki sürümler Chrome 148'den itibaren browser.*
Etkinlikler
onChanged
browser.bookmarks.onChanged.addListener(
callback: function,
)
Bir yer işareti veya klasör değiştiğinde tetiklenir. Not: Şu anda bu işlem yalnızca başlık ve URL değişiklikleriyle tetiklenir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(id: string, changeInfo: object) => void
-
id
dize
-
changeInfo
nesne
-
title
dize
-
url
string isteğe bağlı
-
-
onChildrenReordered
browser.bookmarks.onChildrenReordered.addListener(
callback: function,
)
Kullanıcı arayüzünde sıralama yapılması nedeniyle bir klasörün alt öğelerinin sırası değiştiğinde tetiklenir. Bu, bir move() işleminin sonucu olarak çağrılmaz.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(id: string, reorderInfo: object) => void
-
id
dize
-
reorderInfo
nesne
-
childIds
string[]
-
-
onCreated
browser.bookmarks.onCreated.addListener(
callback: function,
)
Bir yer işareti veya klasör oluşturulduğunda tetiklenir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(id: string, bookmark: BookmarkTreeNode) => void
-
id
dize
-
yer işareti
-
onImportBegan
browser.bookmarks.onImportBegan.addListener(
callback: function,
)
Yer işareti içe aktarma oturumu başlatıldığında tetiklenir. Pahalı gözlemciler, onImportEnded tetiklenene kadar onCreated güncellemelerini yoksaymalıdır. Gözlemciler diğer bildirimleri hemen işlemelidir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:() => void
onImportEnded
browser.bookmarks.onImportEnded.addListener(
callback: function,
)
Yer işareti içe aktarma oturumu sona erdiğinde tetiklenir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:() => void
onMoved
browser.bookmarks.onMoved.addListener(
callback: function,
)
Bir yer işareti veya klasör farklı bir üst klasöre taşındığında tetiklenir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(id: string, moveInfo: object) => void
-
id
dize
-
moveInfo
nesne
-
indeks
sayı
-
oldIndex
sayı
-
oldParentId
dize
-
parentId
dize
-
-
onRemoved
browser.bookmarks.onRemoved.addListener(
callback: function,
)
Bir yer işareti veya klasör kaldırıldığında tetiklenir. Bir klasör yinelemeli olarak kaldırıldığında klasör için tek bir bildirim tetiklenir ve içeriği için bildirim tetiklenmez.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(id: string, removeInfo: object) => void
-
id
dize
-
removeInfo
nesne
-
indeks
sayı
-
düğümChrome 48 ve sonraki sürümler Chrome 148'den itibaren browser.*
-
parentId
dize
-
-