chrome.app.window

توضیحات

از chrome.app.window API برای ایجاد ویندوز استفاده کنید. ویندوز دارای یک قاب اختیاری با نوار عنوان و کنترل اندازه است. آنها با هیچ پنجره مرورگر کروم مرتبط نیستند. برای نمایش این گزینه ها ، نمونه حالت پنجره را ببینید.

انواع

AppWindow

خواص

  • پنجره محتوا

    پنجره

    شیء "پنجره" جاوا اسکریپت برای فرزند ایجاد شده.

  • شناسه

    رشته

    شناسه ای که پنجره با آن ایجاد شده است.

  • مرزهای داخلی

    موقعیت، اندازه و محدودیت های محتوای پنجره، که شامل تزئینات پنجره نمی شود. این ویژگی در کروم 36 جدید است.

  • مرزهای بیرونی

    موقعیت، اندازه و محدودیت های پنجره، که شامل تزئینات پنجره، مانند نوار عنوان و قاب است. این ویژگی در کروم 36 جدید است.

  • روشن توجه

    باطل

    توجه خود را به پنجره جلب کنید.

    تابع clearAttention به نظر می رسد:

    () => {...}

  • بستن

    باطل

    پنجره را ببند

    تابع close به نظر می رسد:

    () => {...}

  • جلب توجه

    باطل

    توجه را به پنجره جلب کنید.

    تابع drawAttention به نظر می رسد:

    () => {...}

  • تمرکز کنید

    باطل

    پنجره را متمرکز کنید.

    تابع focus به نظر می رسد:

    () => {...}

  • تمام صفحه

    باطل

    پنجره را تمام صفحه نمایش می دهد.

    کاربر می تواند با فشار دادن ESC پنجره را بازیابی کند. یک برنامه می‌تواند با درخواست مجوز app.window.fullscreen.overrideEsc و لغو رویداد با فراخوانی .preventDefault()، در کنترل‌کننده‌های keydown و keyup، مانند زیر از باقی ماندن حالت تمام صفحه هنگام فشار دادن ESC جلوگیری کند:

    window.onkeydown = window.onkeyup = function(e) { if (e.keyCode == 27 /* ESC *\/) { e.preventDefault(); } };

    توجه داشته باشید window.fullscreen() باعث می شود که کل پنجره تمام صفحه شود و نیازی به ژست کاربر ندارد. API تمام صفحه HTML5 همچنین می تواند برای ورود به حالت تمام صفحه استفاده شود (برای جزئیات بیشتر به Web API ها مراجعه کنید).

    عملکرد fullscreen به نظر می رسد:

    () => {...}

  • getBounds

    باطل

    منسوخ شده است

    از innerBounds یا outerBounds استفاده کنید.

    مرزهای داخلی پنجره را به عنوان یک شی ContentBounds دریافت کنید.

    تابع getBounds به نظر می رسد:

    () => {...}

  • پنهان کردن

    باطل

    پنجره را پنهان کنید اگر پنجره قبلاً مخفی باشد کاری انجام نمی دهد.

    تابع hide به صورت زیر است:

    () => {...}

  • isAlwaysOnTop

    باطل

    آیا پنجره همیشه بالاست؟

    تابع isAlwaysOnTop به نظر می رسد:

    () => {...}

    • برمی گرداند

      بولی

  • تمام صفحه است

    باطل

    آیا پنجره تمام صفحه است؟ اگر پنجره تمام صفحه ایجاد شده باشد یا از طریق APIهای تمام صفحه AppWindow یا HTML5 تمام صفحه ساخته شده باشد، این درست خواهد بود.

    عملکرد isFullscreen به شکل زیر است:

    () => {...}

    • برمی گرداند

      بولی

  • حداکثر شده است

    باطل

    آیا پنجره حداکثر شده است؟

    تابع isMaximized به شکل زیر است:

    () => {...}

    • برمی گرداند

      بولی

  • به حداقل رسیده است

    باطل

    آیا پنجره به حداقل رسیده است؟

    تابع isMinimized به صورت زیر است:

    () => {...}

    • برمی گرداند

      بولی

  • به حداکثر رساندن

    باطل

    پنجره را به حداکثر برسانید.

    تابع maximize به صورت زیر است:

    () => {...}

  • به حداقل رساندن

    باطل

    پنجره را به حداقل برسانید.

    تابع minimize به صورت زیر است:

    () => {...}

  • حرکت به

    باطل

    از Chrome 43 منسوخ شده است

    از outerBounds استفاده کنید.

    پنجره را به موقعیت ( left ، top ) ببرید.

    تابع moveTo به شکل زیر است:

    (left: number, top: number) => {...}

    • سمت چپ

      شماره

    • بالا

      شماره

  • resizeTo

    باطل

    از Chrome 43 منسوخ شده است

    از outerBounds استفاده کنید.

    اندازه پنجره را به width x height پیکسل تغییر دهید.

    تابع resizeTo به شکل زیر است:

    (width: number, height: number) => {...}

    • عرض

      شماره

    • ارتفاع

      شماره

  • بازگرداندن

    باطل

    بازیابی پنجره، خروج از حالت حداکثر، کمینه یا تمام صفحه.

    تابع restore به نظر می رسد:

    () => {...}

  • setAlwaysOnTop

    باطل

    تنظیم کنید که آیا پنجره باید بالای اکثر پنجره های دیگر بماند یا خیر. به اجازه alwaysOnTopWindows نیاز دارد.

    تابع setAlwaysOnTop به نظر می رسد:

    (alwaysOnTop: boolean) => {...}

    • همیشه در بالا

      بولی

  • setBounds

    باطل

    منسوخ شده است

    از innerBounds یا outerBounds استفاده کنید.

    محدوده های داخلی پنجره را تنظیم کنید.

    تابع setBounds به نظر می رسد:

    (bounds: ContentBounds) => {...}

  • setVisibleOnAllWorkspaces

    باطل

    تنظیم کنید که آیا پنجره در همه فضاهای کاری قابل مشاهده باشد یا خیر. (فقط برای پلتفرم هایی که از این پشتیبانی می کنند).

    تابع setVisibleOnAllWorkspaces به شکل زیر است:

    (alwaysVisible: boolean) => {...}

    • همیشه قابل مشاهده

      بولی

  • نشان می دهد

    باطل

    پنجره را نشان دهید. اگر پنجره از قبل قابل مشاهده باشد، کاری انجام نمی دهد. اگر focused روی درست یا حذف شده باشد، پنجره را فوکوس کنید.

    تابع show به نظر می رسد:

    (focused?: boolean) => {...}

    • متمرکز شده است

      بولی اختیاری

Bounds

خواص

  • ارتفاع

    شماره

    از این ویژگی می توان برای خواندن یا نوشتن ارتفاع فعلی محتوا یا پنجره استفاده کرد.

  • سمت چپ

    شماره

    از این ویژگی می توان برای خواندن یا نوشتن مختصات X فعلی محتوا یا پنجره استفاده کرد.

  • حداکثر ارتفاع

    شماره اختیاری

    از این ویژگی می توان برای خواندن یا نوشتن حداکثر ارتفاع فعلی محتوا یا پنجره استفاده کرد. مقدار null نشان دهنده «نامشخص» است.

  • حداکثر عرض

    شماره اختیاری

    از این ویژگی می توان برای خواندن یا نوشتن حداکثر عرض فعلی محتوا یا پنجره استفاده کرد. مقدار null نشان دهنده "نا مشخص" است.

  • من ارتفاع

    شماره اختیاری

    از این ویژگی می توان برای خواندن یا نوشتن حداقل ارتفاع فعلی محتوا یا پنجره استفاده کرد. مقدار null نشان دهنده «نامشخص» است.

  • عرض کمتر

    شماره اختیاری

    از این ویژگی می توان برای خواندن یا نوشتن حداقل عرض فعلی محتوا یا پنجره استفاده کرد. مقدار null نشان دهنده «نامشخص» است.

  • بالا

    شماره

    از این ویژگی می توان برای خواندن یا نوشتن مختصات Y فعلی محتوا یا پنجره استفاده کرد.

  • عرض

    شماره

    از این ویژگی می توان برای خواندن یا نوشتن عرض فعلی محتوا یا پنجره استفاده کرد.

  • setMaximumSize

    باطل

    حداکثر محدودیت اندازه محتوا یا پنجره را تنظیم کنید. حداکثر عرض یا ارتفاع را می توان روی null تنظیم کرد تا محدودیت حذف شود. مقدار undefined یک محدودیت را بدون تغییر باقی می گذارد.

    تابع setMaximumSize به شکل زیر است:

    (maxWidth: number, maxHeight: number) => {...}

    • حداکثر عرض

      شماره

    • حداکثر ارتفاع

      شماره

  • setMinimumSize

    باطل

    حداقل محدودیت اندازه محتوا یا پنجره را تنظیم کنید. حداقل عرض یا ارتفاع را می توان روی null تنظیم کرد تا محدودیت حذف شود. مقدار undefined یک محدودیت را بدون تغییر باقی می گذارد.

    تابع setMinimumSize به شکل زیر است:

    (minWidth: number, minHeight: number) => {...}

    • عرض کمتر

      شماره

    • ارتفاع من

      شماره

  • setPosition

    باطل

    موقعیت چپ و بالای محتوا یا پنجره را تنظیم کنید.

    تابع setPosition به شکل زیر است:

    (left: number, top: number) => {...}

    • سمت چپ

      شماره

    • بالا

      شماره

  • setSize

    باطل

    عرض و ارتفاع محتوا یا پنجره را تنظیم کنید.

    تابع setSize به نظر می رسد:

    (width: number, height: number) => {...}

    • عرض

      شماره

    • ارتفاع

      شماره

BoundsSpecification

خواص

  • ارتفاع

    شماره اختیاری

    ارتفاع محتوا یا پنجره.

  • سمت چپ

    شماره اختیاری

    مختصات X محتوا یا پنجره.

  • حداکثر ارتفاع

    شماره اختیاری

    حداکثر ارتفاع محتوا یا پنجره.

  • حداکثر عرض

    شماره اختیاری

    حداکثر عرض محتوا یا پنجره.

  • ارتفاع من

    شماره اختیاری

    حداقل ارتفاع محتوا یا پنجره.

  • عرض کمتر

    شماره اختیاری

    حداقل عرض محتوا یا پنجره.

  • بالا

    شماره اختیاری

    مختصات Y محتوا یا پنجره.

  • عرض

    شماره اختیاری

    عرض محتوا یا پنجره.

ContentBounds

خواص

  • ارتفاع

    شماره اختیاری

  • سمت چپ

    شماره اختیاری

  • بالا

    شماره اختیاری

  • عرض

    شماره اختیاری

CreateWindowOptions

خواص

  • همیشه در بالا

    بولی اختیاری

    اگر درست باشد، پنجره بالای اکثر پنجره های دیگر باقی می ماند. اگر چندین پنجره از این نوع وجود داشته باشد، پنجره متمرکز فعلی در پیش زمینه خواهد بود. به اجازه alwaysOnTopWindows نیاز دارد. پیش فرض به نادرست.

    برای تغییر این ویژگی پس از ایجاد setAlwaysOnTop() در پنجره فراخوانی کنید.

  • محدوده

    ContentBounds اختیاری است

    منسوخ شده است

    از innerBounds یا outerBounds استفاده کنید.

    اندازه و موقعیت محتوا در پنجره (به استثنای نوار عنوان). اگر یک شناسه نیز مشخص شده باشد و قبلاً یک پنجره با شناسه منطبق نشان داده شده باشد، به جای آن از کران های به خاطر سپرده شده پنجره استفاده می شود.

  • متمرکز شده است

    بولی اختیاری

    اگر درست باشد، پنجره هنگام ایجاد فوکوس خواهد شد. پیش فرض ها به درست است.

  • قاب

    رشته | FrameOptions اختیاری است

    نوع قاب: none یا chrome (پیش‌فرض به chrome است). برای none ، از ویژگی -webkit-app-region CSS می توان برای اعمال قابلیت کشیدن به پنجره برنامه استفاده کرد. -webkit-app-region: drag می توان برای علامت گذاری مناطق قابل کشیدن استفاده کرد. no-drag می توان برای غیرفعال کردن این سبک در عناصر تو در تو استفاده کرد.

    استفاده از FrameOptions در M36 جدید است.

  • پنهان شده است

    بولی اختیاری

    اگر درست باشد، پنجره در حالت مخفی ایجاد می شود. نمایش () را در پنجره فراخوانی کنید تا پس از ایجاد آن نمایش داده شود. پیش فرض به نادرست.

  • نماد

    رشته اختیاری

    Chrome 54+

    آدرس آیکون پنجره زمانی که showInShelf روی true تنظیم شود، یک پنجره می تواند نماد خود را داشته باشد. URL باید یک URL محلی یا جهانی باشد.

  • شناسه

    رشته اختیاری

    شناسه برای شناسایی پنجره این برای به خاطر سپردن اندازه و موقعیت پنجره و بازیابی هندسه زمانی که پنجره ای با همان شناسه بعداً باز می شود استفاده می شود. اگر پنجره ای با یک شناسه داده شده ایجاد شود در حالی که پنجره دیگری با همان شناسه از قبل وجود داشته باشد، پنجره باز شده فعلی به جای ایجاد یک پنجره جدید متمرکز می شود.

  • مرزهای داخلی

    BoundsSpecification اختیاری است

    برای تعیین موقعیت اولیه، اندازه اولیه و محدودیت های محتوای پنجره (به استثنای تزئینات پنجره) استفاده می شود. اگر یک id نیز مشخص شده باشد و یک پنجره با id منطبق قبلاً نشان داده شده باشد، به جای آن از کران های به خاطر سپرده شده استفاده می شود.

    توجه داشته باشید که بالشتک بین مرزهای داخلی و خارجی توسط سیستم عامل تعیین می شود. بنابراین تنظیم یک ویژگی bounds برای innerBounds و outerBounds منجر به خطا می شود.

    این ویژگی در کروم 36 جدید است.

  • حداکثر ارتفاع

    شماره اختیاری

    منسوخ شده است

    از innerBounds یا outerBounds استفاده کنید.

    حداکثر ارتفاع پنجره

  • حداکثر عرض

    شماره اختیاری

    منسوخ شده است

    از innerBounds یا outerBounds استفاده کنید.

    حداکثر عرض پنجره

  • ارتفاع من

    شماره اختیاری

    منسوخ شده است

    از innerBounds یا outerBounds استفاده کنید.

    حداقل ارتفاع پنجره

  • عرض کمتر

    شماره اختیاری

    منسوخ شده است

    از innerBounds یا outerBounds استفاده کنید.

    حداقل عرض پنجره

  • مرزهای بیرونی

    BoundsSpecification اختیاری است

    برای تعیین موقعیت اولیه، اندازه اولیه و محدودیت های پنجره (از جمله تزئینات پنجره مانند نوار عنوان و قاب) استفاده می شود. اگر یک id نیز مشخص شده باشد و یک پنجره با id منطبق قبلاً نشان داده شده باشد، به جای آن از کران های به خاطر سپرده شده استفاده می شود.

    توجه داشته باشید که بالشتک بین مرزهای داخلی و خارجی توسط سیستم عامل تعیین می شود. بنابراین تنظیم یک ویژگی bounds برای innerBounds و outerBounds منجر به خطا می شود.

    این ویژگی در کروم 36 جدید است.

  • قابل تغییر اندازه

    بولی اختیاری

    اگر درست باشد، اندازه پنجره توسط کاربر قابل تغییر است. پیش فرض ها به درست است.

  • showInShelf

    بولی اختیاری

    Chrome 54+

    اگر درست باشد، پنجره نماد قفسه خود را خواهد داشت. در غیر این صورت پنجره در قفسه با سایر پنجره های مرتبط با برنامه گروه بندی می شود. پیش فرض به نادرست. اگر showInShelf روی true تنظیم شده است، باید یک شناسه برای پنجره مشخص کنید.

  • تک تن

    بولی اختیاری

    منسوخ شده است

    چندین پنجره با شناسه یکسان دیگر پشتیبانی نمی شود.

    به طور پیش فرض اگر یک شناسه برای پنجره مشخص کنید، پنجره تنها در صورتی ایجاد می شود که پنجره دیگری با همان شناسه از قبل وجود نداشته باشد. اگر پنجره ای با همان شناسه از قبل وجود داشته باشد، آن پنجره به جای آن فعال می شود. اگر می خواهید چندین پنجره با شناسه یکسان ایجاد کنید، می توانید این ویژگی را روی false تنظیم کنید.

  • دولت

    حالت اختیاری است

    حالت اولیه پنجره که به آن اجازه می دهد از قبل تمام صفحه ایجاد شود، حداکثر یا کوچک شود. پیش‌فرض‌ها روی «عادی» است.

  • نوع

    WindowType اختیاری است

    Chrome 45+ از Chrome 69 منسوخ شده است

    همه پنجره های برنامه از نوع پنجره پوسته استفاده می کنند

    نوع پنجره برای ایجاد

  • قابل مشاهده در همه فضاهای کاری

    بولی اختیاری

    اگر درست باشد و توسط پلتفرم پشتیبانی شود، پنجره در تمام فضاهای کاری قابل مشاهده خواهد بود.

FrameOptions

خواص

  • فعال رنگ

    رشته اختیاری

    اجازه می دهد تا رنگ قاب پنجره هنگام فعال تنظیم شود. رنگ آمیزی قاب فقط در صورتی موجود است که نوع قاب chrome باشد.

    رنگ آمیزی قاب فقط در صورتی موجود است که نوع قاب chrome باشد.

    رنگ آمیزی قاب در کروم 36 جدید است.

  • رنگ

    رشته اختیاری

    اجازه می دهد تا رنگ قاب تنظیم شود. رنگ آمیزی قاب فقط در صورتی موجود است که نوع قاب chrome باشد.

    رنگ آمیزی قاب در کروم 36 جدید است.

  • رنگ غیر فعال

    رشته اختیاری

    اجازه می دهد تا رنگ قاب پنجره در صورت غیرفعال بودن متفاوت با رنگ فعال تنظیم شود. رنگ آمیزی قاب فقط در صورتی موجود است که نوع قاب chrome باشد.

    inactiveColor باید همراه با color استفاده شود.

    رنگ آمیزی قاب در کروم 36 جدید است.

  • نوع

    رشته اختیاری

    نوع قاب: none یا chrome (پیش‌فرض به chrome است).

    برای none ، از ویژگی -webkit-app-region CSS می توان برای اعمال قابلیت کشیدن به پنجره برنامه استفاده کرد.

    -webkit-app-region: drag می توان برای علامت گذاری مناطق قابل کشیدن استفاده کرد. no-drag می توان برای غیرفعال کردن این سبک در عناصر تو در تو استفاده کرد.

State

حالت یک پنجره: معمولی، تمام صفحه، حداکثر، کوچک شده.

Enum

"عادی"

"تمام صفحه"

"به حداکثر رساندن"

"به حداقل رسیده"

WindowType

Chrome 45+

نوع پنجره ای که باید ایجاد شود را مشخص می کند.

Enum

"پوسته"
نوع پنجره پیش فرض

"پانل"
پنجره مدیریت شده سیستم عامل (منسوخ شده).

روش ها

canSetVisibleOnAllWorkspaces()

chrome.app.window.canSetVisibleOnAllWorkspaces()

اینکه آیا پلت فرم فعلی از قابل مشاهده بودن پنجره ها در همه فضاهای کاری پشتیبانی می کند یا خیر.

برمی گرداند

  • بولی

create()

قول بده
chrome.app.window.create(
  url: string,
  options?: CreateWindowOptions,
  callback?: function,
)

اندازه و موقعیت یک پنجره را می توان به روش های مختلف مشخص کرد. ساده ترین گزینه این است که هیچ چیزی را مشخص نکنید، در این صورت از اندازه پیش فرض و موقعیت وابسته به پلت فرم استفاده می شود.

برای تنظیم موقعیت، اندازه و محدودیت های پنجره، از ویژگی های innerBounds یا outerBounds استفاده کنید. مرزهای داخلی شامل تزئینات پنجره نمی شود. مرزهای بیرونی شامل نوار عنوان و قاب پنجره است. توجه داشته باشید که بالشتک بین مرزهای داخلی و خارجی توسط سیستم عامل تعیین می شود. بنابراین تنظیم یک ویژگی برای هر دو مرز داخلی و خارجی یک خطا در نظر گرفته می شود (به عنوان مثال، تنظیم هر دو innerBounds.left و outerBounds.left ).

برای به خاطر سپردن خودکار موقعیت های ویندوز می توانید به آنها شناسه بدهید. اگر پنجره ای دارای شناسه باشد، از این شناسه برای به خاطر سپردن اندازه و موقعیت پنجره هر زمان که تغییر اندازه داده می شود استفاده می شود. سپس این اندازه و موقعیت به جای محدوده های مشخص شده در باز شدن بعدی پنجره ای با همان شناسه استفاده می شود. اگر نیاز به باز کردن پنجره ای با شناسه در مکانی غیر از پیش فرض به خاطر سپرده شده دارید، می توانید آن را به صورت مخفی ایجاد کنید، آن را به مکان مورد نظر منتقل کنید و سپس آن را نشان دهید.

پارامترها

  • آدرس اینترنتی

    رشته

  • گزینه ها

    CreateWindowOptions اختیاری است

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (createdWindow: AppWindow) => void

برمی گرداند

  • Promise< AppWindow >

    Chrome 117+

    Promises فقط برای Manifest V3 و نسخه‌های جدیدتر پشتیبانی می‌شود، پلتفرم‌های دیگر باید از callback استفاده کنند.

current()

chrome.app.window.current()

یک شی AppWindow را برای زمینه اسکریپت فعلی (به عنوان مثال شی 'پنجره' جاوا اسکریپت) برمی گرداند. همچنین می‌توان آن را در یک دسته به یک زمینه اسکریپت برای صفحه دیگر فراخوانی کرد، برای مثال: otherWindow.chrome.app.window.current().

برمی گرداند

get()

chrome.app.window.get(
  id: string,
)

یک AppWindow با شناسه داده شده دریافت می کند. اگر پنجره ای با شناسه داده شده وجود نداشته باشد null برگردانده می شود. این روش در کروم 33 جدید است.

پارامترها

  • شناسه

    رشته

برمی گرداند

getAll()

chrome.app.window.getAll()

آرایه ای از تمام پنجره های برنامه ایجاد شده در حال حاضر را دریافت می کند. این روش در کروم 33 جدید است.

برمی گرداند

رویدادها

onBoundsChanged

chrome.app.window.onBoundsChanged.addListener(
  callback: function,
)

با تغییر اندازه پنجره فعال می شود.

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    () => void

onClosed

chrome.app.window.onClosed.addListener(
  callback: function,
)

وقتی پنجره بسته است شلیک می شود. توجه داشته باشید، این باید از پنجره ای غیر از پنجره بسته شده، به عنوان مثال از صفحه پس زمینه گوش شود. این به این دلیل است که پنجره در حال بسته شدن در هنگام فعال شدن رویداد در حال از بین رفتن است، که به این معنی است که همه APIهای موجود در زمینه اسکریپت پنجره کاربردی نخواهند بود.

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    () => void

onFullscreened

chrome.app.window.onFullscreened.addListener(
  callback: function,
)

هنگامی که پنجره تمام صفحه است (از طریق AppWindow یا APIهای HTML5) فعال می شود.

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    () => void

onMaximized

chrome.app.window.onMaximized.addListener(
  callback: function,
)

هنگامی که پنجره به حداکثر می رسد روشن می شود.

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    () => void

onMinimized

chrome.app.window.onMinimized.addListener(
  callback: function,
)

هنگامی که پنجره به حداقل برسد، روشن می شود.

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    () => void

onRestored

chrome.app.window.onRestored.addListener(
  callback: function,
)

هنگامی که پنجره از حداقل یا حداکثر شدن بازیابی می شود، روشن می شود.

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    () => void