الوصف
استخدِم واجهة برمجة التطبيقات chrome.app.window لإنشاء النوافذ. تحتوي النوافذ على إطار اختياري مع شريط عنوان وعناصر تحكّم في الحجم. ولا ترتبط بأي نوافذ في متصفّح Chrome. يمكنك الاطّلاع على نموذج حالة النافذة للحصول على عرض توضيحي لهذه الخيارات.
الأنواع
AppWindow
الخصائص
-
contentWindow
نافذة
كائن "النافذة" في JavaScript للنافذة الفرعية التي تم إنشاؤها
-
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 للدخول إلى وضع ملء الشاشة (يُرجى الاطّلاع على واجهات برمجة تطبيقات الويب لمزيد من التفاصيل).تبدو الدالة
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
تم إيقافها نهائيًا منذ الإصدار 43 من Chromeاستخدِم outerBounds.
نقل النافذة إلى الموضع (
left،top)تبدو الدالة
moveToعلى النحو التالي:(left: number, top: number) => {...}
-
لليسار
الرقم
-
العلوية
الرقم
-
-
resizeTo
void
تم إيقافها نهائيًا منذ الإصدار 43 من Chromeاستخدِم outerBounds.
تغيير حجم النافذة إلى
width×heightبكسلتبدو الدالة
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) => {...}
-
مركّز
قيمة منطقية اختيارية
-
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 اختيارية
تمثّل هذه السمة الإحداثي السيني للمحتوى أو النافذة.
-
maxHeight
number اختيارية
الحد الأقصى لارتفاع المحتوى أو النافذة
-
maxWidth
number اختيارية
الحد الأقصى لعرض المحتوى أو النافذة
-
minHeight
number اختيارية
الحد الأدنى لارتفاع المحتوى أو النافذة
-
minWidth
number اختيارية
الحد الأدنى لعرض المحتوى أو النافذة
-
العلوية
number اختيارية
تمثّل هذه السمة الإحداثي Y للمحتوى أو النافذة.
-
العرض
number اختيارية
عرض المحتوى أو النافذة
ContentBounds
الخصائص
-
الارتفاع
number اختيارية
-
لليسار
number اختيارية
-
العلوية
number اختيارية
-
العرض
number اختيارية
CreateWindowOptions
الخصائص
-
alwaysOnTop
قيمة منطقية اختيارية
إذا كانت القيمة هي true، ستبقى النافذة فوق معظم النوافذ الأخرى. إذا كانت هناك نوافذ متعدّدة من هذا النوع، ستظهر النافذة التي يتم التركيز عليها حاليًا في المقدّمة. يتطلّب ذلك إذن
alwaysOnTopWindows. الخيار التلقائي هو "خطأ".يمكنك استدعاء
setAlwaysOnTop()في النافذة لتغيير هذه السمة بعد الإنشاء. -
bounds
ContentBounds اختيارية
متوقّف نهائيًااستخدِم innerBounds أو outerBounds.
حجم المحتوى وموضعه في النافذة (باستثناء شريط العناوين) إذا تم تحديد معرّف أيضًا وتم عرض نافذة برقم تعريف مطابق من قبل، سيتم استخدام حدود النافذة التي تم تذكّرها بدلاً من ذلك.
-
مركّز
قيمة منطقية اختيارية
إذا تم ضبطها على "صحيح"، سيتم التركيز على النافذة عند إنشائها. القيمة التلقائية هي true.
-
إطار صورة
string | FrameOptions اختياري
نوع الإطار:
noneأوchrome(الإعداد التلقائي هوchrome). بالنسبة إلىnone، يمكن استخدام سمة CSS-webkit-app-regionلتطبيق إمكانية السحب على نافذة التطبيق. يمكن استخدام-webkit-app-region: dragلتحديد المناطق القابلة للسحب. يمكن استخدامno-dragلإيقاف هذا النمط في العناصر المُدمَجة.يُعدّ استخدام
FrameOptionsجديدًا في الإصدار M36. -
قيمة منطقية اختيارية
إذا كانت القيمة "صحيح"، سيتم إنشاء النافذة في حالة مخفية. استخدِم الدالة show() على النافذة لعرضها بعد إنشائها. الخيار التلقائي هو "خطأ".
-
رمز
string اختياري
الإصدار 54 من Chrome أو الإصدارات الأحدثعنوان URL لرمز النافذة يمكن أن يكون للنافذة رمز خاص بها عند ضبط showInShelf على "صحيح". يجب أن يكون عنوان URL عالميًا أو عنوان URL محليًا للإضافة.
-
id
string اختياري
رقم تعريف لتحديد النافذة سيتم استخدام هذا الخيار لتذكُّر حجم النافذة وموضعها واستعادة هذه الأبعاد عند فتح نافذة برقم التعريف نفسه لاحقًا. إذا تم إنشاء نافذة برقم تعريف معيّن في حين أنّ هناك نافذة أخرى تحمل رقم التعريف نفسه، سيتم التركيز على النافذة المفتوحة حاليًا بدلاً من إنشاء نافذة جديدة.
-
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.
-
resizable
قيمة منطقية اختيارية
إذا تم ضبطها على "صحيح"، سيتمكّن المستخدم من تغيير حجم النافذة. القيمة التلقائية هي true.
-
showInShelf
قيمة منطقية اختيارية
الإصدار 54 من Chrome أو الإصدارات الأحدثإذا تم ضبطها على "صحيح"، سيكون للنافذة رمز رف خاص بها. وإلا سيتم تجميع النافذة في الرف مع النوافذ الأخرى المرتبطة بالتطبيق. وتكون القيمة التلقائية هي false. إذا تم ضبط showInShelf على "صحيح"، عليك تحديد معرّف للنافذة.
-
سينغلتون
قيمة منطقية اختيارية
متوقّف نهائيًالم يعُد من الممكن فتح نوافذ متعددة برقم التعريف نفسه.
إذا حدّدت معرّفًا للنافذة، لن يتم إنشاء النافذة إلا إذا لم تكن هناك نافذة أخرى بالمعرّف نفسه. إذا كانت هناك نافذة تحمل رقم التعريف نفسه، سيتم تفعيل هذه النافذة بدلاً من ذلك. إذا أردت إنشاء نوافذ متعددة برقم التعريف نفسه، يمكنك ضبط هذه السمة على "خطأ".
-
الولاية
State اختيارية
الحالة الأولية للنافذة، ما يسمح بإنشائها في وضع ملء الشاشة أو تكبيرها أو تصغيرها. القيمة التلقائية هي "normal".
-
النوع
WindowType اختيارية
الإصدار 45 من Chrome والإصدارات الأحدث تم إيقافها نهائيًا منذ الإصدار 69 من Chromeتستخدم جميع نوافذ التطبيقات نوع النافذة "shell"
نوع النافذة المطلوب إنشاؤها
-
visibleOnAllWorkspaces
قيمة منطقية اختيارية
إذا كانت القيمة "صحيح"، وكان النظام الأساسي يتيح ذلك، ستظهر النافذة في جميع مساحات العمل.
FrameOptions
الخصائص
-
activeColor
string اختياري
يسمح هذا الإعداد بضبط لون إطار النافذة عندما تكون نشطة. لا يتوفّر تلوين الإطار إلا إذا كان نوع الإطار
chrome.لا يتوفّر تلوين الإطار إلا إذا كان نوع الإطار
chrome.تلوين الإطار هو ميزة جديدة في Chrome 36.
-
اللون
string اختياري
يسمح هذا الإعداد بضبط لون الإطار. لا يتوفّر تلوين الإطار إلا إذا كان نوع الإطار
chrome.تلوين الإطار هو ميزة جديدة في Chrome 36.
-
inactiveColor
string اختياري
يسمح هذا الإعداد بضبط لون إطار النافذة عندما تكون غير نشطة بشكل مختلف عن اللون النشط. لا يتوفّر تلوين الإطار إلا إذا كان نوع الإطار
chrome.يجب استخدام السمة
inactiveColorمع السمةcolor.تلوين الإطار هو ميزة جديدة في Chrome 36.
-
النوع
string اختياري
نوع الإطار:
noneأوchrome(القيمة التلقائية هيchrome)بالنسبة إلى
none، يمكن استخدام خاصية CSS-webkit-app-regionلتطبيق إمكانية السحب على نافذة التطبيق.يمكن استخدام
-webkit-app-region: dragلتحديد المناطق القابلة للسحب. يمكن استخدامno-dragلإيقاف هذا النمط في العناصر المُدمَجة.
State
حالة النافذة: عادية، أو بملء الشاشة، أو مكبَّرة، أو مصغَّرة
Enum
"normal"
"fullscreen"
"maximized"
"minimized"
WindowType
تحدّد هذه السمة نوع النافذة المطلوب إنشاؤها.
Enum
"shell"
نوع النافذة التلقائي
"panel"
نافذة يديرها نظام التشغيل (متوقّفة نهائيًا)
الطُرق
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
function اختياري
تظهر المَعلمة
callbackعلى النحو التالي:(createdWindow: AppWindow) => void
-
createdWindow
-
المرتجعات
-
Promise<AppWindow>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.
current()
chrome.app.window.current(): AppWindow | undefined
تعرض هذه الدالة عنصر AppWindow لسياق النص البرمجي الحالي (أي عنصر "النافذة" في JavaScript). ويمكن أيضًا استدعاء هذه الطريقة على معرِّف لسياق نص برمجي لصفحة أخرى، على سبيل المثال: otherWindow.chrome.app.window.current().
المرتجعات
-
AppWindow | غير محدّد
get()
chrome.app.window.get(
id: string,
): AppWindow | undefined
للحصول على AppWindow باستخدام المعرّف المحدّد إذا لم تكن هناك نافذة بالمعرّف المحدّد، يتم عرض قيمة فارغة. هذه الطريقة جديدة في الإصدار 33 من Chrome.
المعلمات
-
id
سلسلة
المرتجعات
-
AppWindow | غير محدّد
getAll()
chrome.app.window.getAll(): AppWindow[]
تحصل على مصفوفة لجميع نوافذ التطبيقات التي تم إنشاؤها حاليًا. هذه الطريقة جديدة في Chrome 33.
المرتجعات
الفعاليات
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