الوصف
استخدِم واجهة برمجة تطبيقات chrome.app.window
لإنشاء النوافذ. تحتوي Windows على إطار اختياري مع شريط العناوين وعناصر التحكم في الحجم. وهي غير مرتبطة بأي نوافذ في متصفّح Chrome. يمكنك الاطّلاع على نموذج حالة النافذة للاطّلاع على عرض توضيحي لهذه الخيارات.
الأنواع
AppWindow
أماكن إقامة
-
contentWindow
نافذة
كائن "window" في JavaScript للمؤسسة الفرعية التي تم إنشاؤها.
-
id
سلسلة
المعرّف الذي تم إنشاء النافذة باستخدامه.
-
innerBounds
موضع محتوى النافذة وحجمه والقيود المفروضة عليه، والذي لا يشمل أي زخرفة للنوافذ. هذا الموقع جديد في Chrome 36.
-
outerBounds
موضع النافذة وحجمها وقيودها، بما في ذلك زخرفة النوافذ، مثل شريط العنوان والإطار. هذا الموقع جديد في Chrome 36.
-
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
boolean
-
-
isFullscreen
void
هل النافذة بملء الشاشة؟ وسيتم تطبيق ذلك إذا تم إنشاء النافذة بملء الشاشة أو تم تحويلها إلى وضع ملء الشاشة من خلال واجهات برمجة التطبيقات
AppWindow
أو HTML5 بملء الشاشة.تبدو الدالة
isFullscreen
على النحو التالي:() => {...}
-
returns
boolean
-
-
isMaximized
void
هل تم تكبير النافذة؟
تبدو الدالة
isMaximized
على النحو التالي:() => {...}
-
returns
boolean
-
-
isMinimized
void
هل النافذة مصغّرة؟
تبدو الدالة
isMinimized
على النحو التالي:() => {...}
-
returns
boolean
-
-
تكبير
void
كبّر النافذة.
تبدو الدالة
maximize
على النحو التالي:() => {...}
-
تصغير
void
عليك تصغير النافذة.
تبدو الدالة
minimize
على النحو التالي:() => {...}
-
moveTo
void
تم إيقافها نهائيًا منذ Chrome 43استخدِم outerBounds.
انقِل النافذة إلى الموضع (
left
،top
).تبدو الدالة
moveTo
على النحو التالي:(left: number, top: number) => {...}
-
في يمين الصورة
الرقم
-
في أعلى الصورة
الرقم
-
-
resizeTo
void
تم إيقافها نهائيًا منذ Chrome 43استخدِم outerBounds.
غيِّر حجم النافذة إلى
width
×height
بكسل.تبدو الدالة
resizeTo
على النحو التالي:(width: number, height: 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
على "صحيح" أو حذفها.تبدو الدالة
show
على النحو التالي:(focused?: boolean) => {...}
-
تركيز
منطقية اختيارية
-
Bounds
أماكن إقامة
-
الطول
الرقم
يمكن استخدام هذه السمة لقراءة الارتفاع الحالي للمحتوى أو النافذة أو كتابتهما.
-
في يمين الصورة
الرقم
يمكن استخدام هذه الخاصية لقراءة أو كتابة الإحداثي X الحالي للمحتوى أو النافذة.
-
maxHeight
الرقم اختياري
يمكن استخدام هذه السمة لقراءة الحد الأقصى الحالي للارتفاع للمحتوى أو النافذة أو كتابته. تشير القيمة
null
إلى "غير محدَّد". -
maxWidth
الرقم اختياري
يمكن استخدام هذه السمة لقراءة الحد الأقصى الحالي لعرض المحتوى أو النافذة أو كتابته. تشير القيمة
null
إلى "غير محدَّد". -
minHeight
الرقم اختياري
يمكن استخدام هذه السمة لقراءة الحد الأدنى الحالي للارتفاع للمحتوى أو النافذة أو كتابته. تشير القيمة
null
إلى "غير محدَّد". -
minWidth
الرقم اختياري
يمكن استخدام هذه السمة لقراءة الحد الأدنى الحالي لعرض المحتوى أو النافذة أو كتابته. تشير القيمة
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
أماكن إقامة
-
الطول
الرقم اختياري
ارتفاع المحتوى أو النافذة.
-
في يمين الصورة
الرقم اختياري
تمثّل هذه السمة الإحداثي X للمحتوى أو النافذة.
-
maxHeight
الرقم اختياري
الحد الأقصى لارتفاع المحتوى أو النافذة.
-
maxWidth
الرقم اختياري
الحد الأقصى لعرض المحتوى أو النافذة.
-
minHeight
الرقم اختياري
الحد الأدنى لارتفاع المحتوى أو النافذة.
-
minWidth
الرقم اختياري
الحد الأدنى لعرض المحتوى أو النافذة.
-
في أعلى الصورة
الرقم اختياري
تمثّل هذه السمة الإحداثي Y للمحتوى أو النافذة.
-
العرض
الرقم اختياري
عرض المحتوى أو النافذة.
ContentBounds
أماكن إقامة
-
الطول
الرقم اختياري
-
في يمين الصورة
الرقم اختياري
-
في أعلى الصورة
الرقم اختياري
-
العرض
الرقم اختياري
CreateWindowOptions
أماكن إقامة
-
alwaysOnTop
منطقية اختيارية
في حال اختيار القيمة "true"، ستظل النافذة فوق معظم النوافذ الأخرى. إذا كانت هناك عدة نوافذ من هذا النوع، ستظهر النافذة محل التركيز حاليًا في المقدّمة. يجب الحصول على إذن "
alwaysOnTopWindows
". يكون الإعداد التلقائي بالقيمة "خطأ".اطلب
setAlwaysOnTop()
في النافذة لتغيير هذا الموقع بعد الإنشاء. -
حدود
ContentBounds اختياري
متوقّف نهائيًااستخدِم innerBounds أو outerBounds.
حجم المحتوى وموضعه في النافذة (باستثناء شريط العنوان) إذا تم أيضًا تحديد معرّف وعرض نافذة برقم تعريف مطابق من قبل، فسيتم استخدام حدود النافذة التي تم تذكّرها بدلاً من ذلك.
-
تركيز
منطقية اختيارية
في حال اختيار القيمة "صحيح"، سيتم التركيز على النافذة عند إنشائها. يكون الإعداد التلقائي بالقيمة "صحيح".
-
إطار صورة
سلسلة | FrameOptions اختيارية
نوع الإطار:
none
أوchrome
(القيمة التلقائية هيchrome
). بالنسبة إلىnone
، يمكن استخدام سمة CSS-webkit-app-region
لتطبيق إمكانية السحب على نافذة التطبيق. يمكن استخدام "-webkit-app-region: drag
" لوضع علامة على المناطق القابلة للسحب. يمكن استخدامno-drag
لإيقاف هذا النمط على العناصر المتداخلة.لم يعد استخدام
FrameOptions
جديدًا في الإصدار M36. -
منطقية اختيارية
في حال اختيار القيمة "true"، سيتم إنشاء النافذة في حالة مخفية. قم باستدعاء show() في النافذة لإظهاره بمجرد إنشائه. يكون الإعداد التلقائي بالقيمة "خطأ".
-
رمز
سلسلة اختيارية
Chrome 54 والإصدارات الأحدثعنوان URL لرمز النافذة يمكن أن يكون للنافذة رمزها الخاص عند ضبط showInShelf على "صحيح". يجب أن يكون عنوان URL عنوانًا عالميًا أو عنوانًا محليًا يتضمّن إضافة.
-
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.
-
resizable
منطقية اختيارية
إذا تم ضبطها على "صحيح"، سيتمكّن المستخدم من تغيير حجم النافذة. يكون الإعداد التلقائي بالقيمة "صحيح".
-
showInShelf
منطقية اختيارية
Chrome 54 والإصدارات الأحدثفي حال اختيار القيمة "صحيح"، سيظهر رمز الرف الخاص بالنافذة. وبخلاف ذلك، سيتم تجميع النوافذ في الرف مع النوافذ الأخرى المرتبطة بالتطبيق. يتم ضبط الإعدادات التلقائية على "خطأ". إذا تم ضبط showInShelf على "صحيح"، يجب تحديد معرّف للنافذة.
-
سينغلتون
منطقية اختيارية
متوقّف نهائيًالم تعُد النوافذ المتعددة التي تحمل المعرّف نفسه متاحة.
بشكلٍ تلقائي، إذا حدّدت معرّفًا للنافذة، لن يتم إنشاء النافذة إلا إذا لم تكن هناك نافذة أخرى بالمعرّف نفسه. في حال وجود نافذة برقم التعريف نفسه، سيتم تفعيل هذه النافذة بدلاً منها. إذا كنت تريد إنشاء نوافذ متعددة بنفس المعرف، فيمكنك تعيين هذه الخاصية على false.
-
state
الولاية اختيارية
الحالة الأولية للنافذة، مما يسمح بإنشائها بملء الشاشة أو تكبيرها أو تصغيرها من قبل. وتكون القيمة التلقائية "عادية".
-
كتابة
WindowType اختيارية
الإصدار 45 من Chrome والإصدارات الأحدث تم إيقافه منذ الإصدار 69 من 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"
نوع النافذة التلقائي.
"ITEM"
نافذة نظام التشغيل المُدارة (متوقّفة نهائيًا).
الطُرق
canSetVisibleOnAllWorkspaces()
chrome.app.window.canSetVisibleOnAllWorkspaces()
ما إذا كان النظام الأساسي الحالي يسمح بظهور النوافذ على جميع مساحات العمل
المرتجعات
-
boolean
create()
chrome.app.window.create(
url: string,
options?: CreateWindowOptions,
callback?: function,
)
يمكن تحديد حجم النافذة وموضعها بعدة طرق مختلفة. أبسط الخيارات هي عدم تحديد أي شيء على الإطلاق، وفي هذه الحالة سيتم استخدام الحجم الافتراضي والموضع التابع للنظام الأساسي.
لضبط موضع النافذة وحجمها والقيود المفروضة عليها، استخدِم السمتَين innerBounds
أو outerBounds
. الحدود الداخلية لا تتضمن زخارف النوافذ. تتضمن الحدود الخارجية شريط عنوان النافذة وإطارها. تجدر الإشارة إلى أن نظام التشغيل يُحدِّد المساحة المتروكة بين الحدود الداخلية والخارجية. وبالتالي، يُعدّ ضبط السمة نفسها لكلٍّ من الحدود الداخلية والخارجية خطأً (على سبيل المثال، ضبط كلّ من innerBounds.left
وouterBounds.left
).
لتذكر مواضع النوافذ تلقائيًا، يمكنك تزويدها بمعرّفات. إذا كانت هناك نافذة تحتوي على معرف، فسيتم استخدام هذا المعرف لتذكر حجم النافذة وموضعها كلما تم نقلها أو تغيير حجمها. يتم بعد ذلك استخدام هذا الحجم والموضع بدلاً من الحدود المحددة عند الفتح اللاحق لنافذة تحمل المعرّف نفسه. إذا كنت بحاجة إلى فتح نافذة تحتوي على معرّف في موقع غير المكان التلقائي الذي يتم تذكّره، يمكنك إنشاء معرّف مخفي ونقله إلى المكان المطلوب ثم عرضه.
المَعلمات
-
url
سلسلة
-
الخيارات
CreateWindowOptions اختياري
-
معاودة الاتصال
الدالة اختيارية
تبدو معلَمة
callback
على النحو التالي:(createdWindow: AppWindow) => void
-
createdWindow
-
المرتجعات
-
Promise<AppWindow>
Chrome 117 والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار 3 من Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
current()
chrome.app.window.current()
عرض كائن AppWindow
لسياق النص البرمجي الحالي (مثل كائن "window" في JavaScript). يمكن أيضًا استدعاء ذلك من خلال مقبض إلى سياق نص برمجي لصفحة أخرى، على سبيل المثال: otherWindow.chrome.app.window.current().
المرتجعات
-
AppWindow | غير محدّد
get()
chrome.app.window.get(
id: string,
)
يتم الحصول على AppWindow
برقم التعريف المحدّد. في حال عدم توفر أي نافذة تشتمل على المعرف المحدد، سيتم عرض قيمة فارغة. وهذه الطريقة جديدة في Chrome 33.
المَعلمات
-
id
سلسلة
المرتجعات
-
AppWindow | غير محدّد
getAll()
chrome.app.window.getAll()
الحصول على مجموعة تضم جميع نوافذ التطبيقات التي تم إنشاؤها حاليًا وهذه الطريقة جديدة في 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).
المَعلمات
-
معاودة الاتصال
الوظيفة
تبدو معلَمة
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