giriiş
Web geliştirme söz konusu olduğunda, Tarayıcı Nesne Modeli (BOM) ve Belge Nesne Modeli'ni (DOM) anlamak, web sayfalarıyla etkili bir şekilde etkileşim kurmak ve yönetmek için çok önemlidir. BOM ve DOM, bir web tarayıcısındaki JavaScript ortamının hayati bileşenleridir. Bu makalede, hem BOM hem de DOM'un ayrıntılarını inceleyecek, aralarındaki farkları, işlevlerini ve pratik senaryolarını vurgulayacağız. Sonunda, bu iki model ve web geliştirmedeki rolleri hakkında kapsamlı bir anlayışa sahip olacaksınız.
Tarayıcı Nesne Modeli (BOM)
BOM, JavaScript'in tarayıcı penceresi ve öğeleriyle etkileşim kurmasını sağlayan tarayıcıya özgü nesneleri ve arayüzleri temsil eder. Çeşitli özelliklere, yöntemlere ve olaylara erişim sağlayarak, geliştiricilerin tarayıcı davranışını kontrol etmelerine, pencereleri yönetmelerine, çerezleri yönetmelerine, URL'leri düzenlemelerine ve daha fazlasına olanak tanır.
Ana BOM bileşenleri:
Pencere Nesnesi:
- BOM'daki küresel nesne tarayıcı penceresini temsil eder ve tarayıcıyla ilgili özelliklere erişim sağlar.
Navigator Nesnesi:
- Tarayıcının adı, sürümü, platformu ve yetenekleri hakkında bilgi sağlar.
Konum Nesnesi:
- Mevcut web sayfasının URL'sini temsil eder ve URL manipülasyonuna izin verir.
Belge Nesnesi:
Tüm HTML belgesini görüntüler ve içeriğiyle etkileşime geçmek için yöntemler sağlar.
BOM kullanımına yönelik pratik senaryolar:
Windows Yönetimi:
// Open a new browser window
const newWindow = window.open("https://www.example.com", "_blank");
// Close the current window
window.close();URL manipülasyonu:
// Redirect the user to a different URL
window.location.href = "https://www.example.com";
// Get the current URL and display it
const currentUrl = window.location.href;
console.log(currentUrl);Çerezlerin işlenmesi:
// Create a cookie
document.cookie = "username=John Doe";
// Read a cookie
const username = document.cookie.split(";")[0].split("=")[1];
console.log(username);
// Delete a cookie
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";Belge Nesne Modeli (DOM)
DOM, bir HTML veya XML belgesinin yapısını ağaç benzeri bir yapı olarak temsil eden platformdan bağımsız bir programlama arayüzüdür. JavaScript'in belge öğelerini düzenlemesine ve bunlarla etkileşim kurmasına olanak tanır; örneğin içeriği değiştirme, öğe ekleme veya çıkarma, olayları işleme ve daha fazlası.
Temel DOM bileşenleri:
Belge Nesnesi:
- Belge ağacının kökünü temsil eder ve öğelere erişim ve bunları düzenleme yöntemleri sağlar.
Element Nesneleri:
- HTML öğelerini temsil eder ve bunların niteliklerini, stillerini ve içeriklerini değiştirmek için yöntemler sağlar.
Düğüm Nesneleri:
- Belgedeki öğeler, metin, yorumlar ve daha fazlası dahil olmak üzere farklı düğüm türlerini temsil eder.
DOM kullanımına yönelik pratik senaryolar:
İçerik değişikliği:
// Change the text of a paragraph element
const paragraph = document.getElementById("myParagraph");
paragraph.textContent = "Updated text";
// Update an element's attribute
const link = document.querySelector("a");
link.setAttribute("href", "https://www.example.com");Manipülasyon elemanları:
// Create a new element and append it to the document
const newElement = document.createElement("div");
newElement.textContent = "New Element";
document.body.appendChild(newElement);
// Remove an element from the document
const elementToRemove = document.getElementById("myElement");
elementToRemove.parentNode.removeChild(elementToRemove);Olayların işlenmesi:
// Add an event listener to a button
const button = document.getElementById("myButton");
button.addEventListener("click", function() {
console.log("Button clicked");
});
// Handle form submission event
const form = document.getElementById("myForm");
form.addEventListener("submit", function(event) {
event.preventDefault();
console.log("Form submitted");
});BOM ve DOM'u karşılaştırın ve zıtlıklarını belirtin
BOM ve DOM arasındaki ilişki:
- Hem BOM hem de DOM, bir web tarayıcısındaki JavaScript ortamının bir parçasıdır.
- BOM, tarayıcının belirli özelliklerine erişim sağlar ve tarayıcı penceresini kontrol eder.
- DOM, bir HTML veya XML belgesinin yapısını temsil eder ve öğelerinin işlenmesine olanak tanır.
BOM ve DOM arasındaki temel farklar:
Kapsam:
- BOM pencere düzeyinde çalışırken, DOM belge ve öğelerinin içinde çalışır.
İşlevsellik:
- BOM, pencere yönetimi, çerezler ve URL'ler gibi tarayıcıyla ilgili özelliklere odaklanır.
- DOM, bir belgenin yapısı ve içeriğiyle etkileşim ve etkileşim kurmakla ilgilenir.
BOM ve DOM'u karşılaştıran pratik örnekler:
BOM ile pencere özelliklerine erişim:
// Get the width and height of the browser window
const windowWidth = window.innerWidth || document.documentElement.clientWidth;
const windowHeight = window.innerHeight || document.documentElement.clientHeight;
console.log(`Window dimensions: ${windowWidth} x ${windowHeight}`);
// Scroll to a specific position
window.scrollTo(0, 0);DOM ile DOM elemanlarını manipüle etmek:
// Change the background color of an element
const element = document.getElementById("myElement");
element.style.backgroundColor = "blue";
// Create a new element and append it to the document
const newElement = document.createElement("div");
newElement.textContent = "New Element";
document.body.appendChild(newElement);Sonuç
Tarayıcı Nesne Modeli'ni (BOM) ve Belge Nesne Modeli'ni (DOM) anlamak, web sayfalarını etkili bir şekilde yönetmek ve etkileşim kurmak için çok önemlidir. BOM, tarayıcıya özgü özelliklere erişim sağlar ve tarayıcı penceresi, çerezler ve URL'ler üzerinde kontrol sağlar. Diğer yandan DOM, belge öğeleriyle etkileşimi ve yönetimi kolaylaştırır ve dinamik içerik güncellemeleri ile olay yönetimini mümkün kılar. Geliştiriciler, BOM ve DOM'un yeteneklerini kullanarak dinamik ve etkileşimli web uygulamaları oluşturabilirler. İster pencereleri yönetmek, ister URL'leri yönetmek, ister çerezleri yönetmek, ister içeriği değiştirmek veya olaylarla etkileşim kurmak olsun, BOM ve DOM, JavaScript ile web etkileşimlerini iyileştirmek için gerekli araçları sağlar.









