คำอธิบาย
ใช้ chrome.app.window API เพื่อสร้างหน้าต่าง หน้าต่างมีกรอบที่ไม่บังคับพร้อมแถบชื่อและการควบคุมขนาด โดยไม่ได้เชื่อมโยงกับหน้าต่างเบราว์เซอร์ 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 API เพื่อเข้าสู่โหมดเต็มหน้าจอได้ด้วย (ดูรายละเอียดเพิ่มเติมได้ที่ Web API)ฟังก์ชัน
fullscreenจะมีลักษณะดังนี้() => {...} -
getBounds
void
เลิกใช้งานแล้วใช้ innerBounds หรือ outerBounds
รับขอบเขตด้านในของหน้าต่างเป็นออบเจ็กต์
ContentBoundsฟังก์ชัน
getBoundsจะมีลักษณะดังนี้() => {...}-
returns
-
-
ซ่อน
void
ซ่อนหน้าต่าง ไม่ดำเนินการใดๆ หากหน้าต่างซ่อนอยู่แล้ว
ฟังก์ชัน
hideจะมีลักษณะดังนี้() => {...} -
isAlwaysOnTop
void
หน้าต่างอยู่ด้านบนเสมอใช่ไหม
ฟังก์ชัน
isAlwaysOnTopจะมีลักษณะดังนี้() => {...}-
returns
บูลีน
-
-
isFullscreen
void
หน้าต่างเป็นแบบเต็มหน้าจอไหม ค่านี้จะเป็นจริงหากหน้าต่างสร้างขึ้นแบบเต็มหน้าจอหรือทำให้เป็นแบบเต็มหน้าจอผ่าน
AppWindowหรือ API แบบเต็มหน้าจอ 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
ปรับขนาดหน้าต่างเป็น
widthxheightพิกเซลฟังก์ชัน
resizeToจะมีลักษณะดังนี้(width: number, height: number) => {...}
-
ความกว้าง
ตัวเลข
-
ความสูง
ตัวเลข
-
-
คืนค่า
void
คืนค่าหน้าต่าง โดยออกจากสถานะขยาย ย่อ หรือเต็มหน้าจอ
ฟังก์ชัน
restoreจะมีลักษณะดังนี้() => {...} -
setAlwaysOnTop
void
กำหนดว่าหน้าต่างควรอยู่เหนือหน้าต่างอื่นๆ ส่วนใหญ่หรือไม่ ต้องมีสิทธิ์
alwaysOnTopWindowsฟังก์ชัน
setAlwaysOnTopจะมีลักษณะดังนี้(alwaysOnTop: boolean) => {...}
-
alwaysOnTop
บูลีน
-
-
setBounds
void
เลิกใช้งานแล้วใช้ innerBounds หรือ outerBounds
กำหนดขอบเขตด้านในของหน้าต่าง
ฟังก์ชัน
setBoundsจะมีลักษณะดังนี้(bounds: ContentBounds) => {...}
-
ขอบเขต
-
-
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 ไม่บังคับ
พิกัด X ของเนื้อหาหรือหน้าต่าง
-
maxHeight
number ไม่บังคับ
ความสูงสูงสุดของเนื้อหาหรือหน้าต่าง
-
maxWidth
number ไม่บังคับ
ความกว้างสูงสุดของเนื้อหาหรือหน้าต่าง
-
minHeight
number ไม่บังคับ
ความสูงขั้นต่ำของเนื้อหาหรือหน้าต่าง
-
minWidth
number ไม่บังคับ
ความกว้างขั้นต่ำของเนื้อหาหรือหน้าต่าง
-
ด้านบน
number ไม่บังคับ
พิกัด Y ของเนื้อหาหรือหน้าต่าง
-
ความกว้าง
number ไม่บังคับ
ความกว้างของเนื้อหาหรือหน้าต่าง
ContentBounds
พร็อพเพอร์ตี้
-
ความสูง
number ไม่บังคับ
-
ซ้าย
number ไม่บังคับ
-
ด้านบน
number ไม่บังคับ
-
ความกว้าง
number ไม่บังคับ
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() ในหน้าต่างเพื่อแสดงเมื่อสร้างแล้ว ค่าเริ่มต้นคือ "เท็จ"
-
?
สตริง ไม่บังคับ
Chrome 54 ขึ้นไปURL ของไอคอนหน้าต่าง หน้าต่างสามารถมีไอคอนของตัวเองได้เมื่อตั้งค่า showInShelf เป็น "จริง" URL ควรเป็น URL ทั่วโลกหรือ URL ในเครื่องของส่วนขยาย
-
id
สตริง ไม่บังคับ
รหัสเพื่อระบุหน้าต่าง ซึ่งจะใช้เพื่อจดจำขนาดและตำแหน่งของหน้าต่าง และคืนค่าเรขาคณิตนั้นเมื่อเปิดหน้าต่างที่มีรหัสเดียวกันในภายหลัง หากมีการสร้างหน้าต่างที่มีรหัสที่ระบุขณะที่มีหน้าต่างอื่นที่มีรหัสเดียวกันอยู่แล้ว ระบบจะโฟกัสหน้าต่างที่เปิดอยู่แทนการสร้างหน้าต่างใหม่
-
innerBounds
BoundsSpecification ไม่บังคับ
ใช้เพื่อระบุตำแหน่งเริ่มต้น ขนาดเริ่มต้น และข้อจำกัดของเนื้อหาของหน้าต่าง (ไม่รวมการตกแต่งหน้าต่าง) หากมีการระบุ
idด้วย และหน้าต่างที่มีidที่ตรงกันเคยแสดงมาก่อน ระบบจะใช้ขอบเขตที่จดจำไว้แทนโปรดทราบว่าระบบปฏิบัติการจะเป็นตัวกำหนดระยะห่างจากขอบระหว่างขอบเขตด้านในและด้านนอก ดังนั้นการตั้งค่าพร็อพเพอร์ตี้ขอบเขตเดียวกันสำหรับทั้ง
innerBoundsและouterBoundsจะทำให้เกิดข้อผิดพลาดพร็อพเพอร์ตี้นี้เป็นพร็อพเพอร์ตี้ใหม่ใน Chrome 36
-
maxHeight
number ไม่บังคับ
เลิกใช้งานแล้วใช้ innerBounds หรือ outerBounds
ความสูงสูงสุดของหน้าต่าง
-
maxWidth
number ไม่บังคับ
เลิกใช้งานแล้วใช้ innerBounds หรือ outerBounds
ความกว้างสูงสุดของหน้าต่าง
-
minHeight
number ไม่บังคับ
เลิกใช้งานแล้วใช้ innerBounds หรือ outerBounds
ความสูงขั้นต่ำของหน้าต่าง
-
minWidth
number ไม่บังคับ
เลิกใช้งานแล้วใช้ innerBounds หรือ outerBounds
ความกว้างขั้นต่ำของหน้าต่าง
-
outerBounds
BoundsSpecification ไม่บังคับ
ใช้เพื่อระบุตำแหน่งเริ่มต้น ขนาดเริ่มต้น และข้อจำกัดของหน้าต่าง (รวมถึงการตกแต่งหน้าต่าง เช่น แถบชื่อและเฟรม) หากมีการระบุ
idด้วย และหน้าต่างที่มีidที่ตรงกันเคยแสดงมาก่อน ระบบจะใช้ขอบเขตที่จดจำไว้แทนโปรดทราบว่าระบบปฏิบัติการจะเป็นตัวกำหนดระยะห่างจากขอบระหว่างขอบเขตด้านในและด้านนอก ดังนั้นการตั้งค่าพร็อพเพอร์ตี้ขอบเขตเดียวกันสำหรับทั้ง
innerBoundsและouterBoundsจะทำให้เกิดข้อผิดพลาดพร็อพเพอร์ตี้นี้เป็นพร็อพเพอร์ตี้ใหม่ใน Chrome 36
-
ปรับขนาดได้
บูลีน ไม่บังคับ
หากเป็น "จริง" ผู้ใช้จะปรับขนาดหน้าต่างได้ ค่าเริ่มต้นคือ "จริง"
-
showInShelf
บูลีน ไม่บังคับ
Chrome 54 ขึ้นไปหากเป็น "จริง" หน้าต่างจะมีไอคอนแถบของตัวเอง ไม่เช่นนั้น ระบบจะจัดกลุ่มหน้าต่างไว้ในแถบร่วมกับหน้าต่างอื่นๆ ที่เชื่อมโยงกับแอป ค่าเริ่มต้นคือ "เท็จ" หากตั้งค่า showInShelf เป็น "จริง" คุณต้องระบุรหัสสำหรับหน้าต่าง
-
Singleton
บูลีน ไม่บังคับ
เลิกใช้งานแล้วระบบไม่รองรับหน้าต่างหลายหน้าต่างที่มีรหัสเดียวกันอีกต่อไป
โดยค่าเริ่มต้น หากคุณระบุรหัสสำหรับหน้าต่าง ระบบจะสร้างหน้าต่างก็ต่อเมื่อไม่มีหน้าต่างอื่นที่มีรหัสเดียวกันอยู่แล้ว หากมีหน้าต่างที่มีรหัสเดียวกันอยู่แล้ว ระบบจะเปิดใช้งานหน้าต่างนั้นแทน หากต้องการสร้างหน้าต่างหลายรายการที่มีรหัสเดียวกัน คุณสามารถตั้งค่าพร็อพเพอร์ตี้นี้เป็น "เท็จ" ได้
-
รัฐ
State ไม่บังคับ
สถานะเริ่มต้นของหน้าต่าง ซึ่งช่วยให้สร้างหน้าต่างแบบเต็มหน้าจอ ขยายใหญ่สุด หรือย่อเล็กสุดได้ ค่าเริ่มต้นคือ "normal"
-
ประเภท
WindowType ไม่บังคับ
Chrome 45 ขึ้นไป เลิกใช้งานตั้งแต่ 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
สถานะของหน้าต่าง: ปกติ, เต็มหน้าจอ, ขยายใหญ่สุด, ย่อเล็กสุด
ค่าแจกแจง
"normal"
"fullscreen"
"maximized"
"minimized"
WindowType
ระบุประเภทของหน้าต่างที่จะสร้าง
ค่าแจกแจง
"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>
Chrome 117 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
current()
chrome.app.window.current(): AppWindow | undefined
แสดงผลออบเจ็กต์ AppWindow สำหรับบริบทสคริปต์ปัจจุบัน (เช่น ออบเจ็กต์ "window" ของ JavaScript) นอกจากนี้ยังเรียกใช้เมธอดนี้ในแฮนเดิลของบริบทสคริปต์สำหรับหน้าอื่นได้ด้วย เช่น otherWindow.chrome.app.window.current()
การคืนสินค้า
-
AppWindow | undefined
get()
chrome.app.window.get(
id: string,
): AppWindow | undefined
รับ AppWindow ที่มีรหัสที่ระบุ หากไม่มีหน้าต่างที่มีรหัสที่ระบุ ระบบจะแสดงผลเป็น Null วิธีนี้เป็นวิธีใหม่ใน Chrome 33
พารามิเตอร์
-
id
สตริง
การคืนสินค้า
-
AppWindow | undefined
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,
)
เริ่มทำงานเมื่อปิดหน้าต่าง โปรดทราบว่าควรฟังเหตุการณ์นี้จากหน้าต่างอื่นที่ไม่ใช่หน้าต่างที่กำลังปิด เช่น จากหน้าพื้นหลัง เนื่องจากหน้าต่างที่ปิดจะอยู่ในกระบวนการปิดเมื่อมีการเริ่มเหตุการณ์ ซึ่งหมายความว่า API บางรายการในบริบทสคริปต์ของหน้าต่างจะไม่ทำงาน
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้() => void
onFullscreened
chrome.app.window.onFullscreened.addListener(
callback: function,
)
เริ่มทำงานเมื่อหน้าต่างแสดงแบบเต็มหน้าจอ (ผ่าน AppWindow หรือ HTML5 API)
พารามิเตอร์
-
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