الوصف
استخدِم chrome.app.window
API لإنشاء النوافذ. تحتوي النوافذ على إطار اختياري مزود بشريط عناوين وعناصر تحكم في الحجم. ولا يتم ربطها بأي نوافذ في متصفِّح Chrome. يُرجى الاطّلاع على نموذج حالة النافذة للحصول على شرح لهذه الخيارات.
الأنواع
AppWindow
أماكن إقامة
-
contentWindow
نافذة
"نافذة" JavaScript الخاص بالعنصر الثانوي الذي تم إنشاؤه.
-
id
سلسلة
المعرّف الذي تم إنشاء النافذة باستخدامه
-
innerBounds
موضع محتوى النافذة وحجمه وقيوده، بما في ذلك زخارف النوافذ هذا الموقع جديد في Chrome 36.
-
outerBounds
موضع النافذة وحجمها وقيودها، بما في ذلك زخارف النافذة، مثل شريط العنوان والإطار هذا الموقع جديد في Chrome 36.
-
clearAttention
فراغ
يجب لفت الانتباه إلى النافذة.
تبدو دالة
clearAttention
كما يلي:() => {...}
-
إغلاق
فراغ
أغلق النافذة.
تبدو دالة
close
كما يلي:() => {...}
-
drawAttention
فراغ
يُرجى لفت الانتباه إلى النافذة.
تبدو دالة
drawAttention
كما يلي:() => {...}
-
البؤرة
فراغ
ركِّز على النافذة.
تبدو دالة
focus
كما يلي:() => {...}
-
ملء الشاشة
فراغ
عرض النافذة بملء الشاشة
سيتمكن المستخدم من استعادة النافذة بالضغط على 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
فراغ
متوقّفة نهائيًااستخدام innerBounds أو outerBounds
احصل على الحدود الداخلية للنافذة كعنصر
ContentBounds
.تبدو دالة
getBounds
كما يلي:() => {...}
-
returns
-
-
إخفاء
فراغ
إخفاء النافذة. ولا يفعل أي شيء إذا كانت النافذة مخفية بالفعل.
تبدو دالة
hide
كما يلي:() => {...}
-
isAlwaysOnTop
فراغ
هل تظهر النافذة في الأعلى دائمًا؟
تبدو دالة
isAlwaysOnTop
كما يلي:() => {...}
-
returns
منطقي
-
-
isFullscreen
فراغ
هل النافذة بملء الشاشة؟ سيتم تطبيق ذلك إذا تمّ إنشاء النافذة بوضع ملء الشاشة أو تمّ جعلها بملء الشاشة عبر واجهات برمجة التطبيقات
AppWindow
أو HTML5 بملء الشاشة.تبدو دالة
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
على "صحيح" أو إذا تم حذفها.تبدو دالة
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
حجم المحتوى وموضعه في النافذة (باستثناء شريط العنوان) إذا تم أيضًا تحديد معرّف وتم عرض نافذة بمعرّف مطابق من قبل، فسيتم استخدام حدود النافذة التي تم تذكرها بدلاً من ذلك.
-
مركَّز
قيمة منطقية اختيارية
في حال اختيار القيمة "صحيح"، سيتم التركيز على النافذة عند إنشائها. وتكون القيمة التلقائية هي "صحيح".
-
إطار صورة
string | FrameOptions اختيارية
نوع الإطار:
none
أوchrome
(القيمة التلقائية هيchrome
). بالنسبة إلىnone
، يمكن استخدام سمة CSS-webkit-app-region
لتطبيق إمكانية السحب على نافذة التطبيق. يمكن استخدام-webkit-app-region: drag
لوضع علامة على المناطق القابلة للسحب. يمكن استخدامno-drag
لإيقاف هذا النمط على العناصر المتداخلة.أصبح استخدام
FrameOptions
جديدًا في الإصدار M36. -
قيمة منطقية اختيارية
في حال اختيار القيمة "صحيح"، سيتم إنشاء النافذة في حالة مخفية. عليك استدعاء show() في النافذة لإظهارها بمجرد إنشائها. وتكون القيمة التلقائية على "خطأ".
-
رمز
سلسلة اختيارية
الإصدار 54 من Chrome أو الإصدارات الأحدثعنوان URL لرمز النافذة. يمكن أن يكون للنافذة رمزها الخاص عند ضبط showInShelf على "true". يجب أن يكون عنوان 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.
-
يمكن تغيير حجمه
قيمة منطقية اختيارية
إذا كانت القيمة هي true، سيغيّر المستخدم حجم النافذة. وتكون القيمة التلقائية هي "صحيح".
-
showInShelf
قيمة منطقية اختيارية
الإصدار 54 من Chrome أو الإصدارات الأحدثفي حال اختيار القيمة "true"، سيكون للنافذة رمز الرف الخاص بها. وبخلاف ذلك، سيتم تجميع النوافذ في الرف مع النوافذ الأخرى المرتبطة بالتطبيق. وتكون القيمة التلقائية على "خطأ". إذا تم ضبط showInShelf على "true"، يجب تحديد معرّف للنافذة.
-
سينغلتون
قيمة منطقية اختيارية
متوقّفة نهائيًالم تعُد النوافذ المتعددة التي تحمل المعرّف نفسه متاحة.
وبشكلٍ تلقائي، إذا حددت معرّفًا للنافذة، سيتم إنشاء النافذة فقط في حال عدم توفّر نافذة أخرى تحمل المعرّف نفسه. في حال توفُّر نافذة تحمل المعرّف نفسه، يتم تفعيل هذه النافذة بدلاً من ذلك. إذا كنت تريد إنشاء نوافذ متعددة برقم التعريف نفسه، فيمكنك تعيين هذه السمة على "false".
-
الولاية
الولاية اختيارية
الحالة الأولية للنافذة، ما يسمح بإنشاءها بملء الشاشة أو تكبيرها أو تصغيرها وتكون القيم التلقائية هي "عادية".
-
كتابة
WindowType اختياري
الإصدار 45 من Chrome أو الإصدارات الأحدث متوقّف منذ إصدار Chrome 69تستخدم جميع نوافذ التطبيقات الزر "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
حالة النافذة: عادية، ملء الشاشة، تكبير، مصغّرة.
Enum
"عادي"
ملء الشاشة
"maximized"
"تصغير"
WindowType
تُحدِّد نوع النافذة المراد إنشاؤها.
Enum
"shell"
نوع النافذة التلقائي.
"اللوحة"
نافذة نظام التشغيل المُدارة (متوقفة)
الطُرق
canSetVisibleOnAllWorkspaces()
chrome.app.window.canSetVisibleOnAllWorkspaces()
ما إذا كان النظام الأساسي الحالي يتيح ظهور النوافذ في جميع مساحات العمل
المرتجعات
-
منطقي
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>
الإصدار 117 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار 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