شرح
از 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