توضیحات
از 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
xheight
پیکسل تغییر دهید.تابع
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
نوع پنجره ای که باید ایجاد شود را مشخص می کند.
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().
برمی گرداند
AppWindow | تعریف نشده
get()
chrome.app.window.get(
id: string,
)
یک AppWindow
با شناسه داده شده دریافت می کند. اگر پنجره ای با شناسه داده شده وجود نداشته باشد null برگردانده می شود. این روش در کروم 33 جدید است.
پارامترها
- شناسه
رشته
برمی گرداند
AppWindow | تعریف نشده
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