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