Window

مرورگرها علاوه بر DOM (Document Object Model)، یک مدل دیگر به نام BOM (Browser Object Model) دارند که امکان تعامل با خود مرورگر را فراهم می‌کند.
در مرکز BOM، شیء window قرار دارد.

🔹 1. شیء window

  • بالاترین شیء در مرورگر است.

  • هم DOM و هم BOM را در خود دارد.

  • متغیرها و توابعی که در Global Scope تعریف می‌کنیم، به صورت پیش‌فرض به window متصل می‌شوند.

var name = "Ali"; console.log(window.name); // Ali

🔹 2. ویژگی‌های مهم window

🟢 اطلاعات مرورگر و صفحه

console.log(window.innerWidth); // عرض صفحه نمایش console.log(window.innerHeight); // ارتفاع صفحه نمایش console.log(window.location); // اطلاعات URL console.log(window.navigator); // اطلاعات مرورگر

🔹 3. متدهای مهم window

📌 Popup Boxes

  • alert("پیام") → نمایش هشدار

  • confirm("آیا مطمئن هستید؟") → دریافت تایید کاربر (true/false)

  • prompt("نام خود را وارد کنید:") → گرفتن ورودی از کاربر

let answer = confirm("Do you want to continue?"); console.log(answer); // true یا false

📌 کنترل پنجره‌ها

  • open(url, name, specs) → باز کردن پنجره جدید

  • close() → بستن پنجره

let win = window.open("https://example.com", "_blank", "width=400,height=400"); win.close();

📌 تایمرها

  • setTimeout(function, milliseconds) → اجرای یکبار بعد از زمان مشخص

  • setInterval(function, milliseconds) → اجرای تکراری

setTimeout(() => alert("Hello after 2s"), 2000); let timer = setInterval(() => console.log("Running..."), 1000); clearInterval(timer); // متوقف کردن

🔹 4. اشیای BOM

  • window.location → مدیریت URL

  • window.history → تاریخچه مرورگر (back, forward, go)

  • window.navigator → اطلاعات مرورگر و کاربر

  • window.screen → اطلاعات نمایشگر

🔹 5. تفاوت DOM و BOM

ویژگیDOMBOM
تعریفمدل سند (Document)مدل مرورگر (Browser)
مرکزdocumentwindow
کاربرددسترسی به عناصر صفحهکنترل و مدیریت مرورگر
مثالdocument.getElementById()window.alert(), window.location

✅ خلاصه

  • BOM → مدل مرورگر برای دسترسی به امکانات خارج از سند HTML

  • شیء مرکزی: window

  • ابزارهای مهم: alert, confirm, prompt, setTimeout, setInterval, open, close

  • اشیای کلیدی BOM: location, history, navigator, screen

  • تفاوت: DOM برای کار با سند HTML، BOM برای کار با خود مرورگر