الوصف
استخدِم واجهة برمجة التطبيقات 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
على النحو التالي:() => {...}
-
getBounds
void
تم إيقافها نهائيًااستخدِم innerBounds أو outerBounds.
احصل على الحدود الداخلية للنافذة ككائن
ContentBounds
.تبدو الدالة
getBounds
على النحو التالي:() => {...}
-
returns
-
-
إخفاء
void
إخفاء النافذة لا يحدث أي شيء إذا كانت النافذة مخفية.
تبدو الدالة
hide
على النحو التالي:() => {...}
-
isAlwaysOnTop
void
هل النافذة تظهر دائمًا في المقدّمة؟
تبدو الدالة
isAlwaysOnTop
على النحو التالي:() => {...}
-
returns
قيمة منطقية
-
-
isFullscreen
void
هل النافذة بملء الشاشة؟ ستكون القيمة صحيحة إذا تم إنشاء النافذة بملء الشاشة أو تم عرضها بملء الشاشة من خلال
AppWindow
أو واجهات برمجة التطبيقات HTML5 لملء الشاشة.تبدو الدالة
isFullscreen
على النحو التالي:() => {...}
-
returns
قيمة منطقية
-
-
isMaximized
void
هل النافذة مكبّرة؟
تبدو الدالة
isMaximized
على النحو التالي:() => {...}
-
returns
قيمة منطقية
-
-
isMinimized
void
هل النافذة مصغَّرة؟
تبدو الدالة
isMinimized
على النحو التالي:() => {...}
-
returns
قيمة منطقية
-
-
تكبير
void
كبِّر النافذة.
تبدو الدالة
maximize
على النحو التالي:() => {...}
-
تصغير
void
تصغير النافذة
تبدو الدالة
minimize
على النحو التالي:() => {...}
-
moveTo
void
تم إيقافها نهائيًا منذ الإصدار Chrome 43استخدِم outerBounds.
نقل النافذة إلى الموضع (
left
،top
)تبدو الدالة
moveTo
على النحو التالي:(left: number, top: number) => {...}
-
لليسار
الرقم
-
العلوية
الرقم
-
-
resizeTo
void
تم إيقافها نهائيًا منذ الإصدار Chrome 43استخدِم outerBounds.
تغيير حجم النافذة إلى
width
xheight
بكسلتبدو الدالة
resizeTo
على النحو التالي:(width: number, height: number) => {...}
-
العرض
الرقم
-
الطول
الرقم
-
-
استعادة
void
استعادة النافذة، والخروج من حالة التكبير أو التصغير أو ملء الشاشة
تبدو الدالة
restore
على النحو التالي:() => {...}
-
setAlwaysOnTop
void
تحديد ما إذا كان يجب أن تبقى النافذة فوق معظم النوافذ الأخرى يتطلّب الحصول على إذن
alwaysOnTopWindows
.تبدو الدالة
setAlwaysOnTop
على النحو التالي:(alwaysOnTop: boolean) => {...}
-
alwaysOnTop
قيمة منطقية
-
-
setBounds
void
تم إيقافها نهائيًااستخدِم innerBounds أو outerBounds.
اضبط الحدود الداخلية للنافذة.
تبدو الدالة
setBounds
على النحو التالي:(bounds: ContentBounds) => {...}
-
bounds
-
-
setVisibleOnAllWorkspaces
void
تحديد ما إذا كانت النافذة مرئية في جميع مساحات العمل (ينطبق ذلك على الأنظمة الأساسية التي تتيح هذه الميزة فقط).
تبدو الدالة
setVisibleOnAllWorkspaces
على النحو التالي:(alwaysVisible: boolean) => {...}
-
alwaysVisible
قيمة منطقية
-
-
إظهار
void
عرض النافذة لا يحدث أي شيء إذا كانت النافذة مرئية. يتم التركيز على النافذة إذا تم ضبط
focused
على "صحيح" أو تم حذفه.تبدو الدالة
show
على النحو التالي:(focused?: boolean) => {...}
-
التركيز
boolean اختياري
-
Bounds
الخصائص
-
الطول
الرقم
يمكن استخدام هذه السمة لقراءة الارتفاع الحالي للمحتوى أو النافذة أو كتابته.
-
لليسار
الرقم
يمكن استخدام هذه السمة لقراءة أو كتابة إحداثيات X الحالية للمحتوى أو النافذة.
-
maxHeight
number اختياري
يمكن استخدام هذه السمة لقراءة أو كتابة الحد الأقصى الحالي لارتفاع المحتوى أو النافذة. تشير القيمة
null
إلى "غير محدّد". -
maxWidth
number اختياري
يمكن استخدام هذه السمة لقراءة أو كتابة الحد الأقصى الحالي لعرض المحتوى أو النافذة. تشير القيمة
null
إلى "غير محدّد". -
minHeight
number اختياري
يمكن استخدام هذه السمة لقراءة الحد الأدنى الحالي لارتفاع المحتوى أو النافذة أو كتابته. تشير القيمة
null
إلى "غير محدّد". -
minWidth
number اختياري
يمكن استخدام هذه السمة لقراءة الحد الأدنى الحالي لعرض المحتوى أو النافذة أو كتابته. تشير القيمة
null
إلى "غير محدّد". -
العلوية
الرقم
يمكن استخدام هذه السمة لقراءة أو كتابة إحداثيات Y الحالية للمحتوى أو النافذة.
-
العرض
الرقم
يمكن استخدام هذه السمة لقراءة العرض الحالي للمحتوى أو النافذة أو كتابته.
-
setMaximumSize
void
تحديد الحد الأقصى لقيود حجم المحتوى أو النافذة يمكن ضبط الحد الأقصى للعرض أو الارتفاع على
null
لإزالة القيد. ستؤدي القيمةundefined
إلى عدم تغيير القيد.تبدو الدالة
setMaximumSize
على النحو التالي:(maxWidth: number, maxHeight: number) => {...}
-
maxWidth
الرقم
-
maxHeight
الرقم
-
-
setMinimumSize
void
تحديد الحد الأدنى لقيود حجم المحتوى أو النافذة يمكن ضبط الحدّ الأدنى للعرض أو الارتفاع على
null
لإزالة القيد. ستؤدي القيمةundefined
إلى عدم تغيير القيد.تبدو الدالة
setMinimumSize
على النحو التالي:(minWidth: number, minHeight: number) => {...}
-
minWidth
الرقم
-
minHeight
الرقم
-
-
setPosition
void
ضبط موضع المحتوى أو النافذة على اليمين والأعلى
تبدو الدالة
setPosition
على النحو التالي:(left: number, top: number) => {...}
-
لليسار
الرقم
-
العلوية
الرقم
-
-
setSize
void
ضبط عرض المحتوى أو النافذة وارتفاعهما
تبدو الدالة
setSize
على النحو التالي:(width: number, height: number) => {...}
-
العرض
الرقم
-
الطول
الرقم
-
BoundsSpecification
الخصائص
-
الطول
number اختياري
تمثّل هذه السمة ارتفاع المحتوى أو النافذة.
-
لليسار
number اختياري
تمثّل هذه السمة الإحداثي X للمحتوى أو النافذة.
-
maxHeight
number اختياري
الحد الأقصى لارتفاع المحتوى أو النافذة
-
maxWidth
number اختياري
تمثّل هذه السمة الحد الأقصى لعرض المحتوى أو النافذة.
-
minHeight
number اختياري
الحد الأدنى لارتفاع المحتوى أو النافذة
-
minWidth
number اختياري
الحد الأدنى لعرض المحتوى أو النافذة
-
العلوية
number اختياري
تمثّل هذه السمة الإحداثي Y للمحتوى أو النافذة.
-
العرض
number اختياري
تمثّل هذه السمة عرض المحتوى أو النافذة.
ContentBounds
الخصائص
-
الطول
number اختياري
-
لليسار
number اختياري
-
العلوية
number اختياري
-
العرض
number اختياري
CreateWindowOptions
الخصائص
-
alwaysOnTop
boolean اختياري
إذا كانت القيمة هي true، ستبقى النافذة ظاهرة فوق معظم النوافذ الأخرى. إذا كانت هناك نوافذ متعددة من هذا النوع، ستكون النافذة التي يتم التركيز عليها حاليًا في المقدّمة. يتطلّب الحصول على إذن
alwaysOnTopWindows
. القيمة التلقائية هي "خطأ".اتّصِل بالدالة
setAlwaysOnTop()
في النافذة لتغيير هذه السمة بعد الإنشاء. -
bounds
ContentBounds اختيارية
تم إيقافها نهائيًااستخدِم innerBounds أو outerBounds.
حجم المحتوى وموضعه في النافذة (باستثناء شريط العنوان) إذا تم تحديد معرّف أيضًا وتم عرض نافذة بمعرّف مطابق من قبل، سيتم استخدام الحدود المحفوظة للنافذة بدلاً من ذلك.
-
التركيز
boolean اختياري
إذا كانت القيمة true، سيتم التركيز على النافذة عند إنشائها. القيمة التلقائية هي "صحيح".
-
إطار صورة
string | FrameOptions اختيارية
نوع الإطار:
none
أوchrome
(القيمة التلقائية هيchrome
). بالنسبة إلىnone
، يمكن استخدام خاصية CSS -webkit-app-region
لتطبيق إمكانية السحب على نافذة التطبيق. يمكن استخدام-webkit-app-region: drag
لوضع علامة على المناطق التي يمكن سحبها. يمكن استخدامno-drag
لإيقاف هذا النمط على العناصر المتداخلة.استخدام
FrameOptions
ميزة جديدة في M36. -
boolean اختياري
في حال ضبط القيمة على "صحيح"، سيتم إنشاء النافذة في حالة مخفية. استدعِ الدالة show() في النافذة لعرضها بعد إنشائها. القيمة التلقائية هي "خطأ".
-
رمز
سلسلة اختيارية
الإصدار 54 من Chrome أو إصدار أحدثتمثّل هذه السمة عنوان URL لرمز النافذة. يمكن أن يكون للنافذة رمزها الخاص عندما يتم ضبط showInShelf على "صحيح". يجب أن يكون عنوان URL عامًا أو عنوان URL محليًا خاصًا بالامتداد.
-
id
سلسلة اختيارية
المعرّف لتحديد النافذة. سيتم استخدام هذا المعرّف لتذكُّر حجم النافذة وموضعها واستعادة تلك الهندسة عند فتح نافذة بالمعرّف نفسه لاحقًا. إذا تم إنشاء نافذة بمعرّف معيّن بينما توجد نافذة أخرى بالمعرّف نفسه، سيتم التركيز على النافذة المفتوحة حاليًا بدلاً من إنشاء نافذة جديدة.
-
innerBounds
BoundsSpecification اختيارية
تُستخدَم لتحديد الموضع الأوّلي والحجم الأوّلي والقيود المفروضة على محتوى النافذة (باستثناء عناصر تزيين النافذة). إذا تم تحديد
id
أيضًا وتم عرض نافذة تتضمّنid
مطابق من قبل، سيتم استخدام الحدود المحفوظة بدلاً من ذلك.يُرجى العِلم أنّ نظام التشغيل هو الذي يحدّد المسافة بين الحدود الداخلية والخارجية. لذلك، سيؤدي ضبط سمة الحدود نفسها لكل من
innerBounds
وouterBounds
إلى حدوث خطأ.هذه السمة جديدة في الإصدار 36 من Chrome.
-
maxHeight
number اختياري
تم إيقافها نهائيًااستخدِم innerBounds أو outerBounds.
الحد الأقصى لارتفاع النافذة
-
maxWidth
number اختياري
تم إيقافها نهائيًااستخدِم innerBounds أو outerBounds.
الحدّ الأقصى لعرض النافذة
-
minHeight
number اختياري
تم إيقافها نهائيًااستخدِم innerBounds أو outerBounds.
الحد الأدنى لارتفاع النافذة.
-
minWidth
number اختياري
تم إيقافها نهائيًااستخدِم innerBounds أو outerBounds.
الحدّ الأدنى لعرض النافذة.
-
outerBounds
BoundsSpecification اختيارية
تُستخدَم لتحديد الموضع الأولي والحجم الأولي وقيود النافذة (بما في ذلك عناصر تزيين النافذة، مثل شريط العنوان والإطار). إذا تم تحديد
id
أيضًا وتم عرض نافذة تتضمّنid
مطابق من قبل، سيتم استخدام الحدود المحفوظة بدلاً من ذلك.يُرجى العِلم أنّ نظام التشغيل هو الذي يحدّد المسافة بين الحدود الداخلية والخارجية. لذلك، سيؤدي ضبط سمة الحدود نفسها لكل من
innerBounds
وouterBounds
إلى حدوث خطأ.هذه السمة جديدة في الإصدار 36 من Chrome.
-
يمكن تغيير حجمه
boolean اختياري
إذا كانت القيمة صحيحة، سيتمكّن المستخدم من تغيير حجم النافذة. القيمة التلقائية هي "صحيح".
-
showInShelf
boolean اختياري
الإصدار 54 من Chrome أو إصدار أحدثإذا كانت القيمة صحيحة، سيحتوي التطبيق على رمز خاص به في الرف. بخلاف ذلك، سيتم تجميع النافذة في الرف مع النوافذ الأخرى المرتبطة بالتطبيق. القيمة التلقائية هي "خطأ". إذا تم ضبط showInShelf على "صحيح"، عليك تحديد معرّف للنافذة.
-
سينغلتون
boolean اختياري
تم إيقافها نهائيًالم يعُد مسموحًا بفتح نوافذ متعدّدة تحمل المعرّف نفسه.
بشكلٍ تلقائي، إذا حدّدت معرّفًا للنافذة، لن يتم إنشاء النافذة إلا إذا لم تكن هناك نافذة أخرى بالمعرّف نفسه. إذا كانت هناك نافذة تحمل المعرّف نفسه، سيتم تفعيلها بدلاً من ذلك. إذا كنت تريد إنشاء نوافذ متعددة باستخدام المعرّف نفسه، يمكنك ضبط هذه السمة على "خطأ".
-
الولاية
الولاية اختيارية
الحالة الأولية للنافذة، ما يسمح بإنشائها في وضع ملء الشاشة أو تكبيرها أو تصغيرها. القيمة التلقائية هي "عادي".
-
النوع
WindowType اختياري
الإصدار 45 من Chrome والإصدارات الأحدث تم إيقافها نهائيًا منذ الإصدار 69 من Chromeتستخدم جميع نوافذ التطبيقات نوع النافذة "shell"
نوع النافذة المطلوب إنشاؤها
-
visibleOnAllWorkspaces
boolean اختياري
إذا كانت القيمة صحيحة وكانت المنصة تتيح ذلك، ستظهر النافذة في جميع مساحات العمل.
FrameOptions
الخصائص
-
activeColor
سلسلة اختيارية
تسمح هذه السمة بضبط لون إطار النافذة عندما تكون نشطة. لا تتوفّر ميزة تلوين الإطار إلا إذا كان نوع الإطار
chrome
.لا تتوفّر ميزة تلوين الإطار إلا إذا كان نوع الإطار
chrome
.تلوين الإطار ميزة جديدة في الإصدار 36 من Chrome.
-
اللون
سلسلة اختيارية
تتيح هذه السمة ضبط لون الإطار. لا تتوفّر ميزة تلوين الإطار إلا إذا كان نوع الإطار
chrome
.تلوين الإطار ميزة جديدة في الإصدار 36 من Chrome.
-
inactiveColor
سلسلة اختيارية
تتيح هذه السمة ضبط لون إطار النافذة عندما تكون غير نشطة بشكل مختلف عن اللون النشط. لا تتوفّر ميزة تلوين الإطار إلا إذا كان نوع الإطار
chrome
.يجب استخدام
inactiveColor
معcolor
.تلوين الإطار ميزة جديدة في الإصدار 36 من Chrome.
-
النوع
سلسلة اختيارية
نوع الإطار:
none
أوchrome
(القيمة التلقائية هيchrome
).بالنسبة إلى
none
، يمكن استخدام خاصية-webkit-app-region
CSS لتطبيق إمكانية السحب على نافذة التطبيق.يمكن استخدام
-webkit-app-region: drag
لوضع علامة على المناطق التي يمكن سحبها. يمكن استخدامno-drag
لإيقاف هذا النمط على العناصر المتداخلة.
State
حالة النافذة: عادية، أو ملء الشاشة، أو مكبّرة، أو مصغّرة
Enum
"normal"
"fullscreen"
"maximized"
"minimized"
WindowType
تحدّد هذه السمة نوع النافذة التي سيتم إنشاؤها.
Enum
"shell"
نوع النافذة التلقائي.
"اللوحة"
نافذة يديرها نظام التشغيل (متوقّفة نهائيًا).
الطُرق
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
).
لتذكُّر مواضع النوافذ تلقائيًا، يمكنك منحها أرقام تعريف. إذا كانت النافذة تتضمّن معرّفًا، يتم استخدام هذا المعرّف لتذكُّر حجم النافذة وموضعها كلما تم نقلها أو تغيير حجمها. يتم بعد ذلك استخدام هذا الحجم والموضع بدلاً من الحدود المحدّدة عند فتح نافذة لاحقة تحمل المعرّف نفسه. إذا كنت بحاجة إلى فتح نافذة بمعرّف في موقع جغرافي آخر غير الموقع التلقائي المحفوظ، يمكنك إنشاء النافذة مخفية، ثم نقلها إلى الموقع الجغرافي المطلوب، ثم إظهارها.
المعلمات
-
url
سلسلة
-
الخيارات
CreateWindowOptions اختياري
-
callback
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(createdWindow: AppWindow) => void
-
createdWindow
-
المرتجعات
-
Promise<AppWindow>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.
current()
chrome.app.window.current(): AppWindow | undefined
تعرض هذه الدالة عنصر AppWindow
لسياق البرنامج النصي الحالي (أي عنصر JavaScript "window"). يمكن أيضًا استدعاء هذا الإجراء على معرّف سياق نص برمجي لصفحة أخرى، على سبيل المثال: otherWindow.chrome.app.window.current().
المرتجعات
-
AppWindow | undefined
get()
chrome.app.window.get(
id: string,
): AppWindow | undefined
تعرض هذه الطريقة AppWindow
بالمعرّف المحدّد. إذا لم تكن هناك نافذة بالمعرّف المحدّد، يتم عرض قيمة فارغة. هذه الطريقة جديدة في الإصدار 33 من Chrome.
المعلمات
-
id
سلسلة
المرتجعات
-
AppWindow | undefined
getAll()
chrome.app.window.getAll(): AppWindow[]
تعرض هذه السمة مصفوفة تضمّ جميع نوافذ التطبيقات التي تم إنشاؤها حاليًا. هذه الطريقة جديدة في الإصدار 33 من Chrome.
المرتجعات
الفعاليات
onBoundsChanged
chrome.app.window.onBoundsChanged.addListener(
callback: function,
)
يتم تنشيط هذا الحدث عند تغيير حجم النافذة.
المعلمات
-
callback
دالة
تظهر المَعلمة
callback
على النحو التالي:() => void
onClosed
chrome.app.window.onClosed.addListener(
callback: function,
)
يتم تنشيط هذا الحدث عند إغلاق النافذة. يُرجى العِلم أنّه يجب الاستماع إلى هذا الحدث من نافذة أخرى غير النافذة التي يتم إغلاقها، مثلاً من صفحة الخلفية. ويرجع ذلك إلى أنّ النافذة التي يتم إغلاقها ستكون في طور الإزالة عند تشغيل الحدث، ما يعني أنّ بعض واجهات برمجة التطبيقات في سياق البرنامج النصي للنافذة لن تعمل.
المعلمات
-
callback
دالة
تظهر المَعلمة
callback
على النحو التالي:() => void
onFullscreened
chrome.app.window.onFullscreened.addListener(
callback: function,
)
يتم تنشيط هذا الحدث عندما يتم عرض النافذة بملء الشاشة (إما من خلال 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