شرح
از chrome.app.window API برای ایجاد پنجرهها استفاده کنید. پنجرهها دارای قاب اختیاری با نوار عنوان و کنترلهای اندازه هستند. این برگهها با هیچکدام از پنجرههای مرورگر Chrome مرتبط نیستند. برای نمایش این گزینهها، نمونه وضعیت پنجره را ببینید.
انواع
AppWindow
مشخصات
-
contentWindow
پنجره
شیء «پنجره» جاوا اسکریپت برای فرزند ایجادشده.
-
id
رشته
شناسهای که پنجره با آن ایجاد شده است.
-
innerBounds
موقعیت، اندازه، و محدودیتهای محتوای پنجره که شامل تزئینات پنجره نمیشود. این ویژگی در Chrome 36 جدید است.
-
outerBounds
موقعیت، اندازه، و محدودیتهای پنجره، که شامل تزئینات پنجره، مانند نوار عنوان و قاب میشود. این ویژگی در Chrome 36 جدید است.
-
clearAttention
باطل کردن
توجه به پنجره را پاک کنید.
تابع
clearAttentionبهصورت زیر است:() => {...} -
بستن
باطل کردن
پنجره را ببندید.
تابع
closeبهصورت زیر است:() => {...} -
drawAttention
باطل کردن
توجه را به پنجره جلب کنید.
تابع
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()باعث میشود کل پنجره تمامصفحه شود و به اشاره کاربر نیاز ندارد. از HTML5 fullscreen API نیز میتوان برای ورود به حالت تمامصفحه استفاده کرد (برای جزئیات بیشتر، Web APIs را ببینید).تابع
fullscreenبهصورت زیر است:() => {...} -
getBounds
باطل کردن
منسوخشدهاز innerBounds یا outerBounds استفاده کنید.
مرزهای داخلی پنجره را بهعنوان شیء
ContentBoundsدریافت کنید.تابع
getBoundsبهصورت زیر است:() => {...}-
returns
-
-
پنهان کردن
باطل کردن
پنجره را پنهان کنید. اگر پنجره ازقبل پنهان باشد، کاری انجام نمیشود.
تابع
hideبهصورت زیر است:() => {...} -
isAlwaysOnTop
باطل کردن
آیا پنجره همیشه در بالا است؟
تابع
isAlwaysOnTopبهصورت زیر است:() => {...}-
returns
بولی
-
-
isFullscreen
باطل کردن
آیا پنجره تمامصفحه است؟ اگر پنجره بهصورت تمامصفحه ایجاد شده باشد یا ازطریق
AppWindowیا HTML5 fullscreen APIs تمامصفحه شده باشد، این مقدار درست خواهد بود.تابع
isFullscreenبهصورت زیر است:() => {...}-
returns
بولی
-
-
isMaximized
باطل کردن
آیا پنجره بیشینه شده است؟
تابع
isMaximizedبهصورت زیر است:() => {...}-
returns
بولی
-
-
isMinimized
باطل کردن
آیا پنجره کوچک شده است؟
تابع
isMinimizedبهصورت زیر است:() => {...}-
returns
بولی
-
-
بزرگ کردن
باطل کردن
پنجره را بزرگ کنید.
تابع
maximizeبهصورت زیر است:() => {...} -
کوچک کردن
باطل کردن
پنجره را کوچک کنید.
تابع
minimizeبهصورت زیر است:() => {...} -
moveTo
باطل کردن
از Chrome 43 منسوخ شده استاز outerBounds استفاده کنید.
پنجره را به موقعیت (
left،top) منتقل کنید.تابع
moveToبهصورت زیر است:(left: number, top: number) => {...}
-
چپ
شماره
-
بالا
شماره
-
-
resizeTo
باطل کردن
از Chrome 43 منسوخ شده استاز outerBounds استفاده کنید.
اندازه پنجره را به
width×heightپیکسل تغییر دهید.تابع
resizeToبهصورت زیر است:(width: number, height: number) => {...}
-
عرض
شماره
-
ارتفاع
شماره
-
-
بازگرداندن
باطل کردن
بازیابی پنجره، خروج از حالت بیشینهشده، کمینهشده، یا تمامصفحه.
تابع
restoreبهصورت زیر است:() => {...} -
setAlwaysOnTop
باطل کردن
تنظیم کنید که آیا پنجره باید بالاتر از اکثر پنجرههای دیگر بماند یا نه. به اجازه
alwaysOnTopWindowsنیاز دارد.تابع
setAlwaysOnTopبهصورت زیر است:(alwaysOnTop: boolean) => {...}
-
alwaysOnTop
بولی
-
-
setBounds
باطل کردن
منسوخشدهاز innerBounds یا outerBounds استفاده کنید.
مرزهای داخلی پنجره را تنظیم کنید.
تابع
setBoundsبهصورت زیر است:(bounds: ContentBounds) => {...}
-
حدود
-
-
setVisibleOnAllWorkspaces
باطل کردن
تنظیم کنید که آیا پنجره در همه فضاهای کاری نمایان باشد یا نه. (فقط برای پلاتفرمهایی که از این ویژگی پشتیبانی میکنند).
تابع
setVisibleOnAllWorkspacesبهصورت زیر است:(alwaysVisible: boolean) => {...}
-
alwaysVisible
بولی
-
-
نمایش
باطل کردن
پنجره را نشان دهید. اگر پنجره ازقبل نمایان باشد، کاری انجام نمیشود. اگر
focusedروی true تنظیم شده باشد یا حذف شده باشد، پنجره را متمرکز میکند.تابع
showبهصورت زیر است:(focused?: boolean) => {...}
-
متمرکز
بولی اختیاری
-
Bounds
مشخصات
-
ارتفاع
شماره
از این ویژگی میتوان برای خواندن یا نوشتن ارتفاع فعلی محتوا یا پنجره استفاده کرد.
-
چپ
شماره
از این ویژگی میتوان برای خواندن یا نوشتن مختصات X فعلی محتوا یا پنجره استفاده کرد.
-
maxHeight
شماره اختیاری
از این ویژگی میتوان برای خواندن یا نوشتن حداکثر ارتفاع فعلی محتوا یا پنجره استفاده کرد. مقدار
nullنشاندهنده «نامشخص» است. -
maxWidth
شماره اختیاری
از این ویژگی میتوان برای خواندن یا نوشتن حداکثر عرض فعلی محتوا یا پنجره استفاده کرد. مقدار
nullنشاندهنده «نامشخص» است. -
minHeight
شماره اختیاری
از این ویژگی میتوان برای خواندن یا نوشتن حداقل ارتفاع فعلی محتوا یا پنجره استفاده کرد. مقدار
nullنشاندهنده «نامشخص» است. -
minWidth
شماره اختیاری
از این ویژگی میتوان برای خواندن یا نوشتن حداقل عرض فعلی محتوا یا پنجره استفاده کرد. مقدار
nullنشاندهنده «نامشخص» است. -
بالا
شماره
از این ویژگی میتوان برای خواندن یا نوشتن مختصات Y فعلی محتوا یا پنجره استفاده کرد.
-
عرض
شماره
از این ویژگی میتوان برای خواندن یا نوشتن عرض فعلی محتوا یا پنجره استفاده کرد.
-
setMaximumSize
باطل کردن
محدودیتهای حداکثر اندازه محتوا یا پنجره را تنظیم کنید. برای برداشتن محدودیت، حداکثر عرض یا ارتفاع را میتوان روی
nullتنظیم کرد. مقدارundefinedباعث میشود محدودیت بدون تغییر باقی بماند.تابع
setMaximumSizeبهصورت زیر است:(maxWidth: number, maxHeight: number) => {...}
-
maxWidth
شماره
-
maxHeight
شماره
-
-
setMinimumSize
باطل کردن
محدودیتهای حداقل اندازه محتوا یا پنجره را تنظیم کنید. برای برداشتن محدودیت، حداقل عرض یا ارتفاع را میتوان روی
nullتنظیم کرد. مقدارundefinedباعث میشود محدودیت بدون تغییر باقی بماند.تابع
setMinimumSizeبهصورت زیر است:(minWidth: number, minHeight: number) => {...}
-
minWidth
شماره
-
minHeight
شماره
-
-
setPosition
باطل کردن
موقعیت چپ و بالای محتوا یا پنجره را تنظیم کنید.
تابع
setPositionبهصورت زیر است:(left: number, top: number) => {...}
-
چپ
شماره
-
بالا
شماره
-
-
setSize
باطل کردن
عرض و ارتفاع محتوا یا پنجره را تنظیم کنید.
تابع
setSizeبهصورت زیر است:(width: number, height: number) => {...}
-
عرض
شماره
-
ارتفاع
شماره
-
BoundsSpecification
مشخصات
-
ارتفاع
شماره اختیاری
ارتفاع محتوا یا پنجره.
-
چپ
شماره اختیاری
مختصات X محتوا یا پنجره.
-
maxHeight
شماره اختیاری
حداکثر ارتفاع محتوا یا پنجره.
-
maxWidth
شماره اختیاری
حداکثر پهنای محتوا یا پنجره.
-
minHeight
شماره اختیاری
حداقل ارتفاع محتوا یا پنجره.
-
minWidth
شماره اختیاری
حداقل عرض محتوا یا پنجره.
-
بالا
شماره اختیاری
مختصات Y محتوا یا پنجره.
-
عرض
شماره اختیاری
عرض محتوا یا پنجره.
ContentBounds
مشخصات
-
ارتفاع
شماره اختیاری
-
چپ
شماره اختیاری
-
بالا
شماره اختیاری
-
عرض
شماره اختیاری
CreateWindowOptions
مشخصات
-
alwaysOnTop
بولی اختیاری
اگر درست باشد، پنجره بالاتر از اکثر پنجرههای دیگر باقی خواهد ماند. اگر چندین پنجره از این نوع وجود داشته باشد، پنجرهای که درحالحاضر روی آن تمرکز شده است در پیشزمینه قرار خواهد گرفت. به اجازه
alwaysOnTopWindowsنیاز دارد. پیشفرض: نادرست.برای تغییر این ویژگی پساز ایجاد،
setAlwaysOnTop()را در پنجره فراخوانی کنید. -
حدود
ContentBounds اختیاری
منسوخشدهاز innerBounds یا outerBounds استفاده کنید.
اندازه و موقعیت محتوا در پنجره (بهاستثنای نوار عنوان). اگر شناسهای نیز مشخص شده باشد و پنجرهای با شناسه منطبق قبلاً نشان داده شده باشد، بهجای آن از حدود بهخاطر سپردهشده پنجره استفاده خواهد شد.
-
متمرکز
بولی اختیاری
اگر درست باشد، پنجره هنگام ایجاد شدن متمرکز خواهد شد. پیشفرض: true.
-
قاب
رشته | FrameOptions اختیاری
نوع قاب:
noneیاchrome(بهطور پیشفرضchrome). برایnone، میتوان از ویژگی CSS-webkit-app-regionبرای اعمال قابلیت کشیدن به پنجره برنامه استفاده کرد. از-webkit-app-region: dragمیتوان برای علامتگذاری مناطق کشیدنی استفاده کرد. ازno-dragمیتوان برای غیرفعال کردن این سبک در عناصر تودرتو استفاده کرد.استفاده از
FrameOptionsدر M36 جدید است. -
بولی اختیاری
اگر درست باشد، پنجره در حالت پنهان ایجاد خواهد شد. برای نمایش پنجره پساز ایجاد شدن، ()show را در پنجره فراخوانی کنید. پیشفرض: نادرست.
-
مراجعه کنید
رشته اختیاری
Chrome نسخه ۵۴ و بالاترنشانی وب نماد پنجره. وقتی showInShelf روی true تنظیم شده باشد، پنجره میتواند نماد خودش را داشته باشد. نشانی وب باید نشانی وب محلی افزونه یا جهانی باشد.
-
id
رشته اختیاری
شناسه برای شناسایی پنجره. از این برای بهخاطر سپردن اندازه و موقعیت پنجره و بازیابی آن هندسه هنگام باز شدن پنجرهای با همان شناسه در آینده استفاده خواهد شد. اگر پنجرهای با شناسه مشخصی ایجاد شود درحالیکه پنجره دیگری با همان شناسه ازقبل وجود داشته باشد، بهجای ایجاد پنجره جدید، پنجرهای که درحالحاضر باز است متمرکز خواهد شد.
-
innerBounds
BoundsSpecification اختیاری
برای مشخص کردن موقعیت اولیه، اندازه اولیه، و محدودیتهای محتوای پنجره (بهاستثنای تزئینات پنجره) استفاده میشود. اگر
idنیز مشخص شده باشد و پنجرهای باidمنطبق قبلاً نشان داده شده باشد، بهجای آن از حدود بهخاطر سپردهشده استفاده خواهد شد.توجه داشته باشید که فاصله بین مرزهای داخلی و خارجی توسط سیستمعامل تعیین میشود. بنابراین، تنظیم کردن ویژگی مرزهای یکسان برای هر دو
innerBoundsوouterBoundsمنجر به خطا خواهد شد.این ویژگی در Chrome 36 جدید است.
-
maxHeight
شماره اختیاری
منسوخشدهاز innerBounds یا outerBounds استفاده کنید.
حداکثر ارتفاع پنجره.
-
maxWidth
شماره اختیاری
منسوخشدهاز innerBounds یا outerBounds استفاده کنید.
حداکثر پهنای پنجره.
-
minHeight
شماره اختیاری
منسوخشدهاز innerBounds یا outerBounds استفاده کنید.
حداقل ارتفاع پنجره.
-
minWidth
شماره اختیاری
منسوخشدهاز innerBounds یا outerBounds استفاده کنید.
حداقل عرض پنجره.
-
outerBounds
BoundsSpecification اختیاری
برای مشخص کردن موقعیت اولیه، اندازه اولیه، و محدودیتهای پنجره (ازجمله تزئینات پنجره مانند نوار عنوان و قاب) استفاده میشود. اگر
idنیز مشخص شده باشد و پنجرهای باidمنطبق قبلاً نشان داده شده باشد، بهجای آن از حدود بهخاطر سپردهشده استفاده خواهد شد.توجه داشته باشید که فاصله بین مرزهای داخلی و خارجی توسط سیستمعامل تعیین میشود. بنابراین، تنظیم کردن ویژگی مرزهای یکسان برای هر دو
innerBoundsوouterBoundsمنجر به خطا خواهد شد.این ویژگی در Chrome 36 جدید است.
-
قابل تغییر اندازه
بولی اختیاری
اگر درست باشد، کاربر میتواند اندازه پنجره را تغییر دهد. پیشفرض: true.
-
showInShelf
بولی اختیاری
Chrome نسخه ۵۴ و بالاتراگر درست باشد، پنجره نماد قفسه خودش را خواهد داشت. درغیراینصورت، پنجره در قفسه با پنجرههای دیگری که با برنامه مرتبط هستند گروهبندی میشود. پیشفرض روی false (نادرست) است. اگر showInShelf روی true تنظیم شده باشد، باید شناسهای برای پنجره مشخص کنید.
-
الگوی یگانه
بولی اختیاری
منسوخشدهدیگر از چند پنجره با شناسه یکسان پشتیبانی نمیشود.
بهطور پیشفرض، اگر شناسهای برای پنجره مشخص کنید، پنجره فقط درصورتی ایجاد میشود که پنجره دیگری با همان شناسه ازقبل وجود نداشته باشد. اگر پنجرهای با همین شناسه ازقبل وجود داشته باشد، آن پنجره بهجای آن فعال میشود. اگر میخواهید چندین پنجره با شناسه یکسان ایجاد کنید، میتوانید این ویژگی را روی false تنظیم کنید.
-
ایالت
استان اختیاری
وضعیت اولیه پنجره که اجازه میدهد ازقبل بهصورت تمامصفحه، بیشینه، یا کمینه ایجاد شود. پیشفرض «normal» است.
-
نوع
WindowType اختیاری
Chrome نسخه ۴۵ و بالاتر از Chrome نسخه ۶۹ منسوخ شده استهمه پنجرههای برنامه از نوع پنجره «shell» استفاده میکنند
نوع پنجرهای که باید ایجاد شود.
-
visibleOnAllWorkspaces
بولی اختیاری
اگر درست باشد و پلاتفرم از آن پشتیبانی کند، پنجره در همه فضاهای کاری قابلمشاهده خواهد بود.
FrameOptions
مشخصات
-
activeColor
رشته اختیاری
امکان تنظیم رنگ قاب پنجره را درحالت فعال فراهم میکند. رنگآمیزی قاب فقط درصورتی دردسترس است که نوع قاب
chromeباشد.رنگآمیزی قاب فقط درصورتی دردسترس است که نوع قاب
chromeباشد.رنگآمیزی قاب در Chrome 36 جدید است.
-
رنگ
رشته اختیاری
امکان تنظیم رنگ قاب را فراهم میکند. رنگآمیزی قاب فقط درصورتی دردسترس است که نوع قاب
chromeباشد.رنگآمیزی قاب در Chrome 36 جدید است.
-
inactiveColor
رشته اختیاری
اجازه میدهد رنگ قاب پنجره درحالت غیرفعال متفاوت از رنگ فعال تنظیم شود. رنگآمیزی قاب فقط درصورتی دردسترس است که نوع قاب
chromeباشد.inactiveColorباید همراه باcolorاستفاده شود.رنگآمیزی قاب در Chrome 36 جدید است.
-
نوع
رشته اختیاری
نوع فریم:
noneیاchrome(پیشفرضchromeاست).برای
none، میتوان از دارایی CSS-webkit-app-regionبرای اعمال قابلیت کشیدن به پنجره برنامه استفاده کرد.از
-webkit-app-region: dragمیتوان برای علامتگذاری مناطق کشیدنی استفاده کرد. ازno-dragمیتوان برای غیرفعال کردن این سبک در عناصر تودرتو استفاده کرد.
State
وضعیت پنجره: عادی، تمامصفحه، حداکثر اندازه، حداقل اندازه.
شمارشی
«عادی»
«تمامصفحه»
«بیشینهشده»
«کوچکشده»
WindowType
نوع پنجرهای را که باید ایجاد شود مشخص میکند.
شمارشی
«shell»
نوع پنجره پیشفرض.
"panel"
پنجره مدیریتشده سیستمعامل (منسوخشده).
روشها
canSetVisibleOnAllWorkspaces()
chrome.app.window.canSetVisibleOnAllWorkspaces(): boolean
اینکه پلاتفرم فعلی از رؤیتپذیر بودن پنجرهها در همه فضاهای کاری پشتیبانی میکند یا نه.
بازگشتیها
-
بولی
create()
chrome.app.window.create(
url: string,
options?: CreateWindowOptions,
callback?: function,
): Promise<AppWindow>
اندازه و موقعیت پنجره را میتوان به روشهای مختلفی مشخص کرد. سادهترین گزینه این است که هیچ چیزی را مشخص نکنید، در این صورت از اندازه پیشفرض و موقعیت وابسته به پلاتفرم استفاده خواهد شد.
برای تنظیم موقعیت، اندازه، و محدودیتهای پنجره، از ویژگیهای innerBounds یا outerBounds استفاده کنید. مرزهای داخلی شامل تزئینات پنجره نمیشود. مرزهای بیرونی شامل نوار عنوان و قاب پنجره است. توجه داشته باشید که فاصله بین مرزهای داخلی و خارجی توسط سیستمعامل تعیین میشود. بنابراین، تنظیم ویژگی یکسان برای هر دو مرز داخلی و خارجی خطا محسوب میشود (برای مثال، تنظیم همزمان innerBounds.left و outerBounds.left).
برای بهخاطر سپردن خودکار موقعیت پنجرهها، میتوانید به آنها شناسه بدهید. اگر پنجرهای شناسه داشته باشد، از این شناسه برای بهخاطر سپردن اندازه و موقعیت پنجره در هر بار جابهجایی یا تغییر اندازه آن استفاده میشود. سپس این اندازه و موقعیت بهجای حدود مشخصشده در باز شدن بعدی پنجره با همان شناسه استفاده میشود. اگر لازم است پنجرهای را با شناسه در مکانی غیراز مکان پیشفرض بهخاطر سپردهشده باز کنید، میتوانید آن را بهصورت پنهان ایجاد کنید، به مکان موردنظر منتقل کنید، و سپس آن را نمایش دهید.
پارامترها
-
نشانی وب
رشته
-
گزینهها
CreateWindowOptions اختیاری
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:(createdWindow: AppWindow) => void
-
createdWindow
-
بازگشتیها
-
Promise<AppWindow>
Chrome نسخه ۱۱۷ و بالاترPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
current()
chrome.app.window.current(): AppWindow | undefined
شیء AppWindow را برای بافت نوشتار فعلی (یعنی شیء «پنجره» جاوا اسکریپت) برمیگرداند. این را میتوان در یک دسته به بافت اسکریپت برای صفحه دیگری نیز فراخوانی کرد، برای مثال: otherWindow.chrome.app.window.current().
بازگشتیها
-
AppWindow | undefined
get()
chrome.app.window.get(
id: string,
): AppWindow | undefined
AppWindow را با شناسه ارائهشده دریافت میکند. اگر پنجرهای با شناسه ارائهشده وجود نداشته باشد، null برگردانده میشود. این روش در Chrome 33 جدید است.
پارامترها
-
id
رشته
بازگشتیها
-
AppWindow | undefined
getAll()
chrome.app.window.getAll(): AppWindow[]
آرایهای از همه پنجرههای برنامه ایجادشده درحالحاضر دریافت میکند. این روش در Chrome 33 جدید است.
بازگشتیها
رویدادها
onBoundsChanged
chrome.app.window.onBoundsChanged.addListener(
callback: function,
)
وقتی اندازه پنجره تغییر میکند، فعال میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:() => void
onClosed
chrome.app.window.onClosed.addListener(
callback: function,
)
وقتی پنجره بسته میشود، فعال میشود. توجه: این رویداد باید از پنجرهای غیراز پنجرهای که بسته میشود، مثلاً از صفحه پسزمینه، شنیده شود. دلیلش این است که پنجرهای که بسته میشود، هنگام فعال شدن رویداد درحال تخریب خواهد بود، یعنی همه میاناهای برنامهسازی کاربردی در بافت اسکریپت پنجره فعال نخواهند بود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:() => void
onFullscreened
chrome.app.window.onFullscreened.addListener(
callback: function,
)
وقتی پنجره تمامصفحه میشود (ازطریق AppWindow یا HTML5 APIs) فعال میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
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