תיאור
משתמשים ב-API chrome.app.window כדי ליצור חלונות. לחלונות יש מסגרת אופציונלית עם סרגל כותרת ואמצעי בקרה לשינוי הגודל. הם לא משויכים לאף חלון של דפדפן Chrome. אפשר לראות הדגמה של האפשרויות האלה בדוגמה של מצב החלון.
סוגים
AppWindow
מאפיינים
- 
    contentWindow
חלון
אובייקט ה-JavaScript  'window' עבור החלון המשני שנוצר.
 - 
    id [מזהה]
מחרוזת
המזהה שבאמצעותו נוצר החלון.
 - 
    innerBounds
המיקום, הגודל והאילוצים של תוכן החלון, שלא כולל את הקישוטים של החלון. המאפיין הזה חדש בגרסה 36 של Chrome.
 - 
    outerBounds
המיקום, הגודל והאילוצים של החלון, כולל קישוטים כמו סרגל הכותרת והמסגרת. המאפיין הזה חדש בגרסה 36 של Chrome.
 - 
    clearAttention
void
ניקוי ההתמקדות בחלון.
הפונקציה
clearAttentionנראית כך:() => {...} - 
    סגירה
void
סגור את החלון.
הפונקציה
closeנראית כך:() => {...} - 
    drawAttention
void
למשוך את תשומת הלב לחלון.
הפונקציה
drawAttentionנראית כך:() => {...} - 
    מיקוד
void
להעביר את המיקוד לחלון.
הפונקציה
focusנראית כך:() => {...} - 
    מסך מלא
void
החלון יוצג במסך מלא.
המשתמש יוכל לשחזר את החלון בלחיצה על מקש ESC. אפליקציה יכולה למנוע יציאה ממצב מסך מלא כשלוחצים על מקש ESC על ידי בקשת ההרשאה
app.window.fullscreen.overrideEscוביטול האירוע באמצעות קריאה ל-preventDefault() במטפלים keydown ו-keyup, באופן הבא:window.onkeydown = window.onkeyup = function(e) { if (e.keyCode == 27 /* ESC *\/) { e.preventDefault(); } };הערה:
window.fullscreen()יגרום להצגת החלון כולו במסך מלא, ולא נדרשת תנועת משתמש. אפשר להשתמש גם ב-HTML5 fullscreen API כדי לעבור למצב מסך מלא (פרטים נוספים זמינים במאמר בנושא Web APIs).הפונקציה
fullscreenנראית כך:() => {...} - 
    getBounds
void
הוצא משימושמשתמשים ב-innerBounds או ב-outerBounds.
אחזור הגבולות הפנימיים של החלון כאובייקט
ContentBounds.הפונקציה
getBoundsנראית כך:() => {...}- 
            החזרות
 
 - 
            
 - 
    הסתר
void
להסתיר את החלון. אם החלון כבר מוסתר, לא קורה כלום.
הפונקציה
hideנראית כך:() => {...} - 
    isAlwaysOnTop
void
החלון תמיד מוצג בחזית?
הפונקציה
isAlwaysOnTopנראית כך:() => {...}- 
            החזרות
בוליאני
 
 - 
            
 - 
    isFullscreen
void
החלון במסך מלא? הערך יהיה True אם החלון נוצר במסך מלא או אם הוא הוגדר למסך מלא באמצעות
AppWindowאו ממשקי API של HTML5 למסך מלא.הפונקציה
isFullscreenנראית כך:() => {...}- 
            החזרות
בוליאני
 
 - 
            
 - 
    isMaximized
void
האם החלון מוגדל?
הפונקציה
isMaximizedנראית כך:() => {...}- 
            החזרות
בוליאני
 
 - 
            
 - 
    isMinimized
void
האם החלון ממוזער?
הפונקציה
isMinimizedנראית כך:() => {...}- 
            החזרות
בוליאני
 
 - 
            
 - 
    הגדלה
void
מגדילים את החלון.
הפונקציה
maximizeנראית כך:() => {...} - 
    מזעור
void
ממזערים את החלון.
הפונקציה
minimizeנראית כך:() => {...} - 
    moveTo
void
הוצא משימוש מאז Chrome 43משתמשים ב-outerBounds.
העברת החלון למיקום (
left,top).הפונקציה
moveToנראית כך:(left: number, top: number) => {...}
- 
    שמאלה
number
 - 
    עליון
number
 
 - 
    
 - 
    resizeTo
void
הוצא משימוש מאז Chrome 43משתמשים ב-outerBounds.
משנים את גודל החלון ל-
widthxheightפיקסלים.הפונקציה
resizeToנראית כך:(width: number, height: number) => {...}
- 
    רוחב
number
 - 
    גובה
number
 
 - 
    
 - 
    שחזור
void
שחזור החלון, יציאה ממצב מוגדל, ממוזער או מסך מלא.
הפונקציה
restoreנראית כך:() => {...} - 
    setAlwaysOnTop
void
הגדרה אם החלון צריך להישאר מעל רוב החלונות האחרים. נדרשת ההרשאה
alwaysOnTopWindows.הפונקציה
setAlwaysOnTopנראית כך:(alwaysOnTop: boolean) => {...}
- 
    alwaysOnTop
בוליאני
 
 - 
    
 - 
    setBounds
void
הוצא משימושמשתמשים ב-innerBounds או ב-outerBounds.
הגדרת הגבולות הפנימיים של החלון.
הפונקציה
setBoundsנראית כך:(bounds: ContentBounds) => {...}
- 
    גבולות
 
 - 
    
 - 
    setVisibleOnAllWorkspaces
void
הגדרה אם החלון גלוי בכל סביבות העבודה. (רק בפלטפורמות שתומכות בכך).
הפונקציה
setVisibleOnAllWorkspacesנראית כך:(alwaysVisible: boolean) => {...}
- 
    alwaysVisible
בוליאני
 
 - 
    
 - 
    הצג
void
להציג את החלון. אם החלון כבר גלוי, לא קורה כלום. החלון יתמקד אם
focusedמוגדר כ-true או אם הוא לא מוגדר.הפונקציה
showנראית כך:(focused?: boolean) => {...}
- 
    ממוקד
boolean אופציונלי
 
 - 
    
 
Bounds
מאפיינים
- 
    גובה
number
אפשר להשתמש במאפיין הזה כדי לקרוא או לכתוב את הגובה הנוכחי של התוכן או החלון.
 - 
    שמאלה
number
אפשר להשתמש במאפיין הזה כדי לקרוא או לכתוב את קואורדינטת ה-X הנוכחית של התוכן או החלון.
 - 
    maxHeight
מספר אופציונלי
אפשר להשתמש במאפיין הזה כדי לקרוא או לכתוב את הגובה המקסימלי הנוכחי של התוכן או החלון. הערך
nullמציין 'לא צוין'. - 
    maxWidth
מספר אופציונלי
אפשר להשתמש במאפיין הזה כדי לקרוא או לכתוב את הרוחב המקסימלי הנוכחי של התוכן או החלון. הערך
nullמציין 'לא צוין'. - 
    minHeight
מספר אופציונלי
אפשר להשתמש במאפיין הזה כדי לקרוא או לכתוב את הגובה המינימלי הנוכחי של התוכן או החלון. הערך
nullמציין 'לא צוין'. - 
    minWidth
מספר אופציונלי
אפשר להשתמש במאפיין הזה כדי לקרוא או לכתוב את הרוחב המינימלי הנוכחי של התוכן או החלון. הערך
nullמציין 'לא צוין'. - 
    עליון
number
אפשר להשתמש במאפיין הזה כדי לקרוא או לכתוב את קואורדינטת ה-Y הנוכחית של התוכן או החלון.
 - 
    רוחב
number
אפשר להשתמש במאפיין הזה כדי לקרוא או לכתוב את הרוחב הנוכחי של התוכן או החלון.
 - 
    setMaximumSize
void
הגדרת אילוצי הגודל המקסימלי של התוכן או החלון. אפשר להגדיר את הרוחב או הגובה המקסימליים ל-
nullכדי להסיר את ההגבלה. הערךundefinedלא ישנה את האילוץ.הפונקציה
setMaximumSizeנראית כך:(maxWidth: number, maxHeight: number) => {...}
- 
    maxWidth
number
 - 
    maxHeight
number
 
 - 
    
 - 
    setMinimumSize
void
מגדירים את אילוצי הגודל המינימליים של התוכן או החלון. אפשר להגדיר את הרוחב או הגובה המינימליים ל-
nullכדי להסיר את ההגבלה. הערךundefinedלא ישנה את האילוץ.הפונקציה
setMinimumSizeנראית כך:(minWidth: number, minHeight: number) => {...}
- 
    minWidth
number
 - 
    minHeight
number
 
 - 
    
 - 
    setPosition
void
הגדרת המיקום השמאלי והעליון של התוכן או החלון.
הפונקציה
setPositionנראית כך:(left: number, top: number) => {...}
- 
    שמאלה
number
 - 
    עליון
number
 
 - 
    
 - 
    setSize
void
הגדרת הרוחב והגובה של התוכן או החלון.
הפונקציה
setSizeנראית כך:(width: number, height: number) => {...}
- 
    רוחב
number
 - 
    גובה
number
 
 - 
    
 
BoundsSpecification
מאפיינים
- 
    גובה
מספר אופציונלי
גובה התוכן או החלון.
 - 
    שמאלה
מספר אופציונלי
הקואורדינטה X של התוכן או החלון.
 - 
    maxHeight
מספר אופציונלי
הגובה המקסימלי של התוכן או החלון.
 - 
    maxWidth
מספר אופציונלי
הרוחב המקסימלי של התוכן או החלון.
 - 
    minHeight
מספר אופציונלי
הגובה המינימלי של התוכן או החלון.
 - 
    minWidth
מספר אופציונלי
הרוחב המינימלי של התוכן או החלון.
 - 
    עליון
מספר אופציונלי
הקואורדינטה Y של התוכן או החלון.
 - 
    רוחב
מספר אופציונלי
רוחב התוכן או החלון.
 
ContentBounds
מאפיינים
- 
    גובה
מספר אופציונלי
 - 
    שמאלה
מספר אופציונלי
 - 
    עליון
מספר אופציונלי
 - 
    רוחב
מספר אופציונלי
 
CreateWindowOptions
מאפיינים
- 
    alwaysOnTop
boolean אופציונלי
אם הערך הוא True, החלון יישאר מעל רוב החלונות האחרים. אם יש כמה חלונות כאלה, החלון שמוצג כרגע יהיה בחזית. נדרשת ההרשאה
alwaysOnTopWindows. ברירת המחדל היא False.אפשר להתקשר אל
setAlwaysOnTop()בחלון כדי לשנות את המאפיין הזה אחרי היצירה. - 
    גבולות
ContentBounds אופציונלי
הוצא משימושמשתמשים ב-innerBounds או ב-outerBounds.
הגודל והמיקום של התוכן בחלון (לא כולל את סרגל הכותרת). אם מציינים גם מזהה, והוצג בעבר חלון עם מזהה תואם, המערכת תשתמש במקום זאת בגבולות הזכורים של החלון.
 - 
    ממוקד
boolean אופציונלי
אם הערך הוא true, החלון יתמקד כשהוא ייווצר. ברירת המחדל היא True.
 - 
    פריים
string | FrameOptions אופציונלי
סוג המסגרת:
noneאוchrome(ברירת המחדל היאchrome). אם בוחרים באפשרותnone, אפשר להשתמש במאפיין-webkit-app-regionCSS כדי להחיל יכולת גרירה על חלון האפליקציה. אפשר להשתמש ב--webkit-app-region: dragכדי לסמן אזורים שניתן לגרור. אפשר להשתמש ב-no-dragכדי להשבית את הסגנון הזה ברכיבים מוטמעים.השימוש ב-
FrameOptionsהוא חדש ב-M36. - 
    
boolean אופציונלי
אם הערך הוא true, החלון ייווצר במצב מוסתר. אחרי שיוצרים את החלון, קוראים לפונקציה show() בחלון כדי להציג אותו. ברירת המחדל היא False.
 - 
    סימן השאלה
מחרוזת אופציונלי
Chrome 54 ואילךכתובת ה-URL של סמל החלון. אם הערך של showInShelf הוא true, לחלון יכול להיות סמל משלו. כתובת ה-URL צריכה להיות כתובת גלובלית או כתובת מקומית של תוסף.
 - 
    id [מזהה]
מחרוזת אופציונלי
מזהה לזיהוי החלון. הערך הזה ישמש לשמירת הגודל והמיקום של החלון ולשחזור הגיאומטריה הזו כשחלון עם אותו מזהה ייפתח מאוחר יותר. אם חלון עם מזהה מסוים נוצר בזמן שחלון אחר עם אותו מזהה כבר קיים, המערכת תתמקד בחלון הפתוח במקום ליצור חלון חדש.
 - 
    innerBounds
BoundsSpecification אופציונלי
משמש לציון המיקום ההתחלתי, הגודל ההתחלתי והאילוצים של תוכן החלון (לא כולל את קישוטי החלון). אם מציינים גם
idוגם חלון עםidתואם הוצג בעבר, המערכת תשתמש בגבולות שזכורים לה.שימו לב שהריווח הפנימי בין הגבולות הפנימיים והחיצוניים נקבע על ידי מערכת ההפעלה. לכן, הגדרת אותו מאפיין גבולות גם ל-
innerBoundsוגם ל-outerBoundsתגרום לשגיאה.המאפיין הזה חדש בגרסה 36 של Chrome.
 - 
    maxHeight
מספר אופציונלי
הוצא משימושמשתמשים ב-innerBounds או ב-outerBounds.
הגובה המקסימלי של החלון.
 - 
    maxWidth
מספר אופציונלי
הוצא משימושמשתמשים ב-innerBounds או ב-outerBounds.
הרוחב המקסימלי של החלון.
 - 
    minHeight
מספר אופציונלי
הוצא משימושמשתמשים ב-innerBounds או ב-outerBounds.
הגובה המינימלי של החלון.
 - 
    minWidth
מספר אופציונלי
הוצא משימושמשתמשים ב-innerBounds או ב-outerBounds.
הרוחב המינימלי של החלון.
 - 
    outerBounds
BoundsSpecification אופציונלי
משמש לציון המיקום ההתחלתי, הגודל ההתחלתי והאילוצים של החלון (כולל עיטורי חלון כמו שורת הכותרת והמסגרת). אם מציינים גם
idוגם חלון עםidתואם הוצג בעבר, המערכת תשתמש בגבולות שזכורים לה.שימו לב שהריווח הפנימי בין הגבולות הפנימיים והחיצוניים נקבע על ידי מערכת ההפעלה. לכן, הגדרת אותו מאפיין גבולות גם ל-
innerBoundsוגם ל-outerBoundsתגרום לשגיאה.המאפיין הזה חדש בגרסה 36 של Chrome.
 - 
    ניתן לשינוי גודל
boolean אופציונלי
אם הערך הוא true, המשתמש יוכל לשנות את גודל החלון. ברירת המחדל היא True.
 - 
    showInShelf
boolean אופציונלי
Chrome 54 ואילךאם הערך הוא True, לחלון יהיה סמל משלו במדף. אחרת, החלון יקובץ במדף עם חלונות אחרים שמשויכים לאפליקציה. ברירת המחדל היא false. אם המאפיין showInShelf מוגדר כ-true, צריך לציין מזהה לחלון.
 - 
    singleton
boolean אופציונלי
הוצא משימושכבר אין תמיכה בכמה חלונות עם אותו מזהה.
כברירת מחדל, אם מציינים מזהה לחלון, החלון ייווצר רק אם לא קיים כבר חלון אחר עם אותו מזהה. אם כבר קיים חלון עם אותו מזהה, החלון הזה יופעל במקום זאת. אם אתם רוצים ליצור כמה חלונות עם אותו מזהה, אתם יכולים להגדיר את המאפיין הזה כ-false.
 - 
    הסמוי הסופי
מדינה אופציונלי
המצב ההתחלתי של החלון, שמאפשר ליצור אותו כבר במסך מלא, במצב מוגדל או במצב ממוזער. ברירת המחדל היא 'normal'.
 - 
    סוג
WindowType אופציונלי
Chrome 45+ הוצא משימוש מאז Chrome 69כל החלונות של האפליקציות משתמשים בסוג החלון 'shell'
סוג החלון שרוצים ליצור.
 - 
    visibleOnAllWorkspaces
boolean אופציונלי
אם הערך הוא true והפלטפורמה תומכת בכך, החלון יהיה גלוי בכל סביבות העבודה.
 
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
מצב החלון: רגיל, מסך מלא, מוגדל, ממוזער.
Enum
"normal" 
 
"fullscreen" 
 
"maximized" 
 
"minimized" 
 
WindowType
מציינים את סוג החלון שרוצים ליצור.
Enum
"shell" 
 סוג ברירת המחדל של החלון.
"חלונית" 
 חלון בניהול מערכת ההפעלה (הוצא משימוש).
Methods
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).
כדי לזכור באופן אוטומטי את מיקומי החלונות, אפשר להקצות להם מזהים. אם לחלון יש מזהה, המזהה הזה משמש לזכירת הגודל והמיקום של החלון בכל פעם שהוא מוזז או משנה את הגודל שלו. לאחר מכן, הגודל והמיקום האלה משמשים במקום הגבולות שצוינו בפתיחה הבאה של חלון עם אותו מזהה. אם אתם צריכים לפתוח חלון עם מזהה במיקום שאינו ברירת המחדל שזכורה, אתם יכולים ליצור אותו כשהוא מוסתר, להעביר אותו למיקום הרצוי ואז להציג אותו.
פרמטרים
- 
    כתובת אתר
מחרוזת
 - 
    options
CreateWindowOptions אופציונלי
 - 
    callback
פונקציה אופציונלית
הפרמטר
callbackנראה כך:(createdWindow: AppWindow) => void
- 
    createdWindow
 
 - 
    
 
החזרות
- 
            
Promise<AppWindow>
Chrome 117 ואילךההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.
 
current()
chrome.app.window.current(): AppWindow | undefined
הפונקציה מחזירה אובייקט AppWindow עבור ההקשר הנוכחי של הסקריפט (כלומר, אובייקט JavaScript 'window'). אפשר גם לקרוא לפונקציה הזו ב-handle להקשר של סקריפט לדף אחר, לדוגמה: otherWindow.chrome.app.window.current().
החזרות
- 
            
AppWindow | undefined
 
get()
chrome.app.window.get(
id: string,
): AppWindow | undefined
מקבלים AppWindow עם המזהה שצוין. אם לא קיים חלון עם המזהה שצוין, הפונקציה מחזירה null. השיטה הזו חדשה בגרסה 33 של Chrome.
פרמטרים
- 
    id [מזהה]
מחרוזת
 
החזרות
- 
            
AppWindow | undefined
 
getAll()
chrome.app.window.getAll(): AppWindow[]
מקבל מערך של כל חלונות האפליקציות שנוצרו כרגע. השיטה הזו חדשה בגרסה 33 של Chrome.
החזרות
- 
            
AppWindow[]
 
אירועים
onBoundsChanged
chrome.app.window.onBoundsChanged.addListener(
callback: function,
)
מופעל כשמשנים את הגודל של החלון.
פרמטרים
- 
    callback
פונקציה
הפרמטר
callbackנראה כך:() => void
 
onClosed
chrome.app.window.onClosed.addListener(
callback: function,
)
האירוע מופעל כשהחלון נסגר. הערה: צריך להאזין לאירוע הזה מחלון אחר ולא מהחלון שנסגר, למשל מדף הרקע. הסיבה לכך היא שהחלון שנסגר יהיה בתהליך של פירוק כשהאירוע יופעל, מה שאומר שלא כל ממשקי ה-API בהקשר של הסקריפט של החלון יפעלו.
פרמטרים
- 
    callback
פונקציה
הפרמטר
callbackנראה כך:() => void
 
onFullscreened
chrome.app.window.onFullscreened.addListener(
callback: function,
)
מופעל כשחלון מוצג במסך מלא (באמצעות AppWindow או ממשקי API של HTML5).
פרמטרים
- 
    callback
פונקציה
הפרמטר
callbackנראה כך:() => void
 
onMaximized
chrome.app.window.onMaximized.addListener(
callback: function,
)
האירוע מופעל כשהחלון מוגדל.
פרמטרים
- 
    callback
פונקציה
הפרמטר
callbackנראה כך:() => void
 
onMinimized
chrome.app.window.onMinimized.addListener(
callback: function,
)
מופעל כשהחלון ממוזער.
פרמטרים
- 
    callback
פונקציה
הפרמטר
callbackנראה כך:() => void
 
onRestored
chrome.app.window.onRestored.addListener(
callback: function,
)
מופעל כשהחלון משוחזר ממצב ממוזער או מוגדל.
פרמטרים
- 
    callback
פונקציה
הפרמטר
callbackנראה כך:() => void