תיאור
כדי ליצור חלונות, צריך להשתמש ב-API chrome.app.window
. ל-Windows יש מסגרת אופציונלית עם סרגל כותרת ופקדי גודל. הם לא משויכים לחלונות של דפדפן Chrome. הדגמה של האפשרויות האלה זמינה בדוגמה של מצב חלון.
סוגים
AppWindow
תכונות
-
contentWindow
חלון
אובייקט 'window' ב-JavaScript לילד או לילדה שנוצר.
-
id
string
המזהה שבאמצעותו נוצר החלון.
-
innerBounds
המיקום, הגודל והמגבלות של תוכן החלון, ללא עיטורים. הנכס הזה חדש בגרסה 36 של Chrome.
-
outerBounds
המיקום, הגודל והמגבלות של החלון, כולל עיטורים כמו סרגל הכותרת והמסגרת. הנכס הזה חדש בגרסה 36 של Chrome.
-
clearAttention
void
שימו לב לחלון.
הפונקציה
clearAttention
נראית כך:() => {...}
-
סגירה
void
סגור את החלון.
הפונקציה
close
נראית כך:() => {...}
-
drawAttention
void
מושכים תשומת לב לחלון.
הפונקציה
drawAttention
נראית כך:() => {...}
-
מיקוד
void
מתמקדים בחלון.
הפונקציה
focus
נראית כך:() => {...}
-
מסך מלא
void
הצגת החלון במסך מלא.
המשתמש יוכל לשחזר את החלון על ידי לחיצה על ESC. אפליקציה יכולה למנוע עזיבה של מצב מסך מלא כשמקישים על Esc על ידי בקשת ההרשאה
app.window.fullscreen.overrideEsc
וביטול האירוע על ידי קריאה ל- .preventDefault(), ברכיבי ה-handler של Keydown ושל המקשים, באופן הבא:window.onkeydown = window.onkeyup = function(e) { if (e.keyCode == 27 /* ESC *\/) { e.preventDefault(); } };
חשוב לשים לב שהתכונה
window.fullscreen()
תהפוך את כל החלון למסך מלא, ולא נדרשת תנועה כלשהי מצד המשתמש. ניתן להשתמש ב-HTML5 ממשק API במסך מלא גם כדי לעבור למצב מסך מלא (פרטים נוספים זמינים במאמר ממשקי API לאינטרנט).הפונקציה
fullscreen
נראית כך:() => {...}
-
getBounds
void
הוצא משימושהשתמשו ב-innerBounds או ב-outerBounds.
מחשבים את הגבולות הפנימיים של החלון כאובייקט
ContentBounds
.הפונקציה
getBounds
נראית כך:() => {...}
-
החזרות
-
-
הסתרה
void
הסתרת החלון. לא יקרה דבר אם החלון כבר מוסתר.
הפונקציה
hide
נראית כך:() => {...}
-
isAlwaysOnTop
void
האם החלון תמיד נמצא למעלה?
הפונקציה
isAlwaysOnTop
נראית כך:() => {...}
-
החזרות
boolean
-
-
isFullscreen
void
האם החלון מוצג במסך מלא? הדבר נכון אם החלון נוצר במסך מלא או שהפך למסך מלא באמצעות ממשקי ה-API של
AppWindow
או HTML5 למסך מלא.הפונקציה
isFullscreen
נראית כך:() => {...}
-
החזרות
boolean
-
-
isMaximized
void
האם החלון מוגדל?
הפונקציה
isMaximized
נראית כך:() => {...}
-
החזרות
boolean
-
-
isMinimized
void
האם החלון ממוזער?
הפונקציה
isMinimized
נראית כך:() => {...}
-
החזרות
boolean
-
-
הגדלה
void
להגדיל את החלון.
הפונקציה
maximize
נראית כך:() => {...}
-
מזעור
void
מזעור החלון.
הפונקציה
minimize
נראית כך:() => {...}
-
moveTo
void
הוצא משימוש מאז Chrome 43משתמשים ב-outerBounds.
העברת החלון למיקום (
left
,top
).הפונקציה
moveTo
נראית כך:(left: number, top: number) => {...}
-
שמאלה
number
-
ראשונה
number
-
-
resizeTo
void
הוצא משימוש מאז Chrome 43משתמשים ב-outerBounds.
שנה את גודל החלון ל-
width
xheight
פיקסלים.הפונקציה
resizeTo
נראית כך:(width: number, height: number) => {...}
-
רוחב
number
-
גובה
number
-
-
שחזור
void
שחזור החלון, יציאה ממצב מוגדל, מוקטן או מסך מלא.
הפונקציה
restore
נראית כך:() => {...}
-
setAlwaysOnTop
void
אפשר לקבוע אם החלון יישאר מעל רוב החלונות האחרים. נדרשת ההרשאה
alwaysOnTopWindows
.הפונקציה
setAlwaysOnTop
נראית כך:(alwaysOnTop: boolean) => {...}
-
alwaysOnTop
boolean
-
-
setBounds
void
הוצא משימושהשתמשו ב-innerBounds או ב-outerBounds.
הגדרת הגבולות הפנימיים של החלון.
הפונקציה
setBounds
נראית כך:(bounds: ContentBounds) => {...}
-
גבולות
-
-
setVisibleOnAllWorkspaces
void
מגדירים אם החלון יהיה גלוי בכל סביבות העבודה. (רק לפלטפורמות שתומכות באפשרות הזו).
הפונקציה
setVisibleOnAllWorkspaces
נראית כך:(alwaysVisible: boolean) => {...}
-
alwaysVisible
boolean
-
-
הצגה
void
הצגת החלון. לא תתבצע שום פעולה אם החלון כבר גלוי. יש להתמקד בחלון אם הערך של
focused
מוגדר כ-true או אם הושמט.הפונקציה
show
נראית כך:(focused?: 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
בוליאני אופציונלי
אם הערך הוא True, החלון יישאר מעל רוב החלונות האחרים. אם יש כמה חלונות מהסוג הזה, החלון הנוכחי שנמצא במוקד יופיע בחזית. נדרשת ההרשאה
alwaysOnTopWindows
. ברירת המחדל היא FALSE.צריך לקרוא לפונקציה
setAlwaysOnTop()
בחלון כדי לשנות את הנכס הזה לאחר היצירה. -
גבולות
ContentBounds אופציונלי
הוצא משימושהשתמשו ב-innerBounds או ב-outerBounds.
הגודל והמיקום של התוכן בחלון (לא כולל סרגל הכותרת). אם צוין גם מזהה וחלון עם מזהה תואם כבר הוצג, המערכת תשתמש בגבולות של החלון ששמורים בזיכרון.
-
ממוקד
בוליאני אופציונלי
אם הערך הוא True, החלון יתמקד בזמן היצירה. ברירת המחדל היא True.
-
מסגרת
string | FrameOptions אופציונלי
סוג המסגרת:
none
אוchrome
(ברירת המחדל היאchrome
). עבורnone
, אפשר להשתמש במאפיין CSS-webkit-app-region
כדי להחיל יכולת גרירה לחלון של האפליקציה. ניתן להשתמש ב--webkit-app-region: drag
כדי לסמן אזורים כניתנים לגרירה. אפשר להשתמש ב-no-drag
כדי להשבית את הסגנון הזה ברכיבים בתוך הרכיבים.השימוש ב-
FrameOptions
חדש בגרסה M36. -
בוליאני אופציונלי
אם הערך הוא True, החלון ייווצר במצב מוסתר. קוראים ל-show() בחלון כדי להציג אותה אחרי שיוצרים אותה. ברירת המחדל היא FALSE.
-
סמל
מחרוזת אופציונלי
Chrome בגרסה 54 ומעלהכתובת ה-URL של סמל החלון. לחלון יכול להיות סמל משלו כאשר הערך של showInShelf מוגדר כ-true. כתובת ה-URL צריכה להיות כתובת 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.
-
resizable
בוליאני אופציונלי
אם הערך הוא True, המשתמש יוכל לשנות את גודל החלון. ברירת המחדל היא True.
-
showInShelf
בוליאני אופציונלי
Chrome בגרסה 54 ומעלהאם הערך הוא True, לחלון יהיה סמל מדף משלו. אחרת, החלון יקובץ במדף עם חלונות אחרים שמשויכים לאפליקציה. ברירת המחדל היא FALSE. אם ShowInShelf מוגדר כ-True, עליך לציין מזהה לחלון.
-
singleton
בוליאני אופציונלי
הוצא משימושאין יותר תמיכה בחלונות מרובים עם אותו מזהה.
כברירת מחדל, אם תציינו מזהה לחלון, הוא ייווצר רק אם לא קיים חלון אחר עם אותו מזהה. אם כבר קיים חלון עם אותו מזהה, החלון יופעל במקום זאת. אם רוצים ליצור כמה חלונות עם אותו מזהה, אפשר להגדיר את המאפיין הזה כ-False.
-
state
מדינה (State) אופציונלי
המצב ההתחלתי של החלון, שמאפשר ליצור אותו כבר במסך מלא, להגדיל אותו או למזער אותו. ברירת המחדל היא 'רגיל'.
-
סוג
WindowType אופציונלי
Chrome 45 ואילך הוצא משימוש מאז Chrome 69כל חלונות האפליקציה משתמשים בסוג החלון 'מעטפת'
סוג החלון ליצירה.
-
visibleOnAllWorkspaces
בוליאני אופציונלי
אם הערך הוא True והוא נתמך על ידי הפלטפורמה, החלון יהיה גלוי בכל סביבות העבודה.
FrameOptions
תכונות
-
activeColor
מחרוזת אופציונלי
מאפשר להגדיר את צבע המסגרת של החלון כאשר הוא פעיל. צביעת מסגרת זמינה רק אם סוג המסגרת הוא
chrome
.צביעת מסגרת זמינה רק אם סוג המסגרת הוא
chrome
.צביעת פריימים היא תכונה חדשה ב-Chrome 36.
-
color [צבע]
מחרוזת אופציונלי
מאפשר להגדיר את צבע המסגרת. צביעת מסגרת זמינה רק אם סוג המסגרת הוא
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)
WindowType
מציין את סוג החלון שרוצים ליצור.
טיפוסים בני מנייה (enum)
"מעטפת"
סוג חלון ברירת המחדל.
"חלונית"
חלון מנוהל של מערכת ההפעלה (הוצא משימוש).
שיטות
canSetVisibleOnAllWorkspaces()
chrome.app.window.canSetVisibleOnAllWorkspaces()
האם הפלטפורמה הנוכחית תומכת בחלונות גלויים בכל סביבות העבודה.
החזרות
-
boolean
create()
chrome.app.window.create(
url: string,
options?: CreateWindowOptions,
callback?: function,
)
ניתן לציין את הגודל והמיקום של חלון במספר דרכים. האפשרות הפשוטה ביותר היא לא לציין שום דבר, ובמקרה כזה ייעשה שימוש בגודל ברירת מחדל ובמיקום התלוי בפלטפורמה.
כדי להגדיר את המיקום, הגודל והאילוצים של החלון, משתמשים במאפיינים innerBounds
או outerBounds
. גבולות פנימיים לא כוללים קישוטים לחלונות. הגבולות החיצוניים כוללים את פס הכותרת והמסגרת של החלון. שימו לב שהמרווח בין הגבול הפנימי והחיצוני נקבע על ידי מערכת ההפעלה. לכן, הגדרה של אותו מאפיין גם לגבול הפנימי וגם לגבול החיצוני נחשבת לשגיאה (לדוגמה, הגדרה של innerBounds.left
וגם של outerBounds.left
).
כדי לזכור באופן אוטומטי את המיקומים של החלונות, אתם יכולים לתת להם מזהים. אם לחלון יש מזהה, המזהה הזה משמש לזכירת הגודל והמיקום של החלון בכל פעם שמעבירים אותו או משנים את הגודל שלו. הגודל והמיקום האלה משמשים במקום הגבולות שצוינו בפתיחה הבאה של חלון עם אותו מזהה. אם אתם רוצים לפתוח חלון עם מזהה במיקום שאינו ברירת המחדל שזכורה לכם, תוכלו ליצור חלון מוסתר, להעביר אותו למיקום הרצוי ולהציג אותו.
פרמטרים
-
כתובת אתר
string
-
אפשרויות
CreateWindowOptions אופציונלי
-
קריאה חוזרת (callback)
פונקציה אופציונלי
הפרמטר
callback
נראה כך:(createdWindow: AppWindow) => void
-
createdWindow
-
החזרות
-
Promise<AppWindow>
Chrome 117 ומעלההבטחות נתמכות רק במניפסט מגרסה V3 ואילך. בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callback).
current()
chrome.app.window.current()
מחזירה אובייקט AppWindow
עבור ההקשר הנוכחי של הסקריפט (כלומר, אובייקט 'window' ב-JavaScript). אפשר גם לקרוא לפונקציה הזו בכינוי בהקשר של סקריפט של דף אחר, לדוגמה: otherWindow.chrome.app.window.current().
החזרות
-
AppWindow | לא מוגדר
get()
chrome.app.window.get(
id: string,
)
הפונקציה מקבלת AppWindow
עם המזהה הנתון. אם לא קיים חלון עם המזהה הנתון, null מוחזר. השיטה הזו חדשה ב-Chrome 33.
פרמטרים
-
id
string
החזרות
-
AppWindow | לא מוגדר
getAll()
chrome.app.window.getAll()
מקבל מערך של כל החלונות של האפליקציות שנוצרו כרגע. השיטה הזו חדשה ב-Chrome 33.
החזרות
אירועים
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,
)
מופעל כשהחלון מוצג במסך מלא (דרך ממשקי ה-API של AppWindow
או של 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