فصل ۲۲: آشنایی با BOM و قابلیت‌های مرورگر

اموزش رایگان جاوا اسکریپت

BOM چیست و چه فرقی با DOM دارد؟

  • DOM (Document Object Model): برای دسترسی و مدیریت عناصر HTML (مثل <div>, <p>, …) استفاده میشه.
  • BOM (Browser Object Model): برای دسترسی و مدیریت امکانات مرورگر (مثل پنجره مرورگر، آدرس فعلی، تاریخچه صفحات، اطلاعات دستگاه و …) به کار میره.

یعنی با BOM می‌تونی کد بنویسی و:

  • پنجره جدید باز کنی
  • کاربر رو به صفحه جدید Redirect کنی
  • تاریخچه‌ی بازدیدها رو بخونی
  • درباره دستگاه/مرورگر اطلاعات بگیری
  • موقعیت جغرافیایی (geo location) کاربر رو به دست بیاری و خیلی کارهای دیگه!

مهم‌ترین اشیاء BOM و مثال کاربردی

۱. شیء window

تقریباً همه‌چیز BOM، زیرمجموعه window است.

console.log(window.innerWidth); // عرض پنجره فعلی کاربر
console.log(window.location.href); // آدرس کامل صفحه فعلی

باز کردن پنجره جدید:

window.open("https://example.com", "_blank");

بستن پنجره باز شده:

// فرض کن newWin همون پنجره‌ای باشه که باز کردی
let newWin = window.open("https://example.com", "_blank");
// ... بعداً
newWin.close();

۲. location: اطلاعات و تغییر آدرس صفحه

console.log(location.href);    // آدرس فعلی
console.log(location.pathname); // مسیر صفحه
// رفتن به صفحه جدید:
location.href = "https://google.com";

۳. history: کنترل تاریخچه مرورگر

history.back();   // برگشت به صفحه قبلی
history.forward(); // رفتن به صفحه بعد
console.log(history.length); // تعداد صفحات بازشده در این تب

۴. navigator: اطلاعات درباره مرورگر و کاربر

console.log(navigator.userAgent); // تشخیص نوع و نسخه مرورگر
console.log(navigator.language);  // زبان مرورگر مثلا "fa-IR"

کاربردها: تشخیص نوع دستگاه، مثلا اگر موبایل بود، نمایش پیام یا تغییر ظاهر سایت.


۵. screen: اطلاعاتی درباره نمایشگر کاربر

console.log(screen.width); // عرض مانیتور یا نمایشگر کاربر
console.log(screen.height); // ارتفاع نمایشگر

۶. (پیشرفته‌تر) Geolocation API – به دست آوردن موقعیت جغرافیایی

navigator.geolocation.getCurrentPosition(
  function(position) {
    console.log("عرض جغرافیایی:", position.coords.latitude);
    console.log("طول جغرافیایی:", position.coords.longitude);
  }, 
  function(error) {
    console.log("خطا یا دسترسی رد شد");
  }
);

(توجه: برای این قابلیت باید کاربر اجازه بده!)


چند نکته و کاربرد سریع:

  • می‌تونی آدرس صفحه سایت رو بخونی یا عوض کنی (redirect)
  • قابلیت‌های فوق، برای افزودن امکانات کاربرمحور به سایت عالی هستند (مثلاً: بررسی اندازه صفحه برای طراحی واکنش‌گرا، یا نمایش پیام اگر کاربر از مرورگر خاصی استفاده می‌کنه)
  • توی بعضی مواقع (مانند گرفتن geo location)، جاوااسکریپت ممکنه نیاز به اجازه کاربر داشته باشه

تمرین سریع

۱. یک دکمه بساز و با کلیک روی اون، اندازه پنجره کاربر رو با alert نمایش بده.
۲. یک لینک بگذار و برای کاربرانی که با موبایل می‌آیند، پیام مخصوص نمایش بده.
۳. از دکمه “برگشت به صفحه قبلی” با استفاده از history.back استفاده کن.


جمع‌بندی فصل

  • بم ساده، ابزاری برای ارتباط با امکانات مرورگر است.
  • window، location، history، navigator، screen شناخته‌شده‌ترین اجزای BOM هستند.
  • با ترکیب BOM و DOM، می‌تونی وب‌اپلیکیشن‌های داینامیک و کاربردی‌تر بسازی!
محمد وب‌سایت

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *