chrome.app.window

คำอธิบาย

ใช้ 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 จะมีลักษณะดังนี้

    () => {...}

  • ซ่อน

    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

Chrome 45 ขึ้นไป

ระบุประเภทของหน้าต่างที่จะสร้าง

ค่าแจกแจง

"shell"
ประเภทหน้าต่างเริ่มต้น

"panel"
หน้าต่างที่จัดการโดยระบบปฏิบัติการ (เลิกใช้งานแล้ว)

เมธอด

canSetVisibleOnAllWorkspaces()

chrome.app.window.canSetVisibleOnAllWorkspaces(): boolean

แพลตฟอร์มปัจจุบันรองรับการแสดงหน้าต่างในพื้นที่ทำงานทั้งหมดหรือไม่

การคืนสินค้า

  • บูลีน

create()

Promise
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

การคืนสินค้า

  • Promise<AppWindow>

    Chrome 117 ขึ้นไป

    ระบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback

current()

chrome.app.window.current(): AppWindow | undefined

แสดงผลออบเจ็กต์ AppWindow สำหรับบริบทสคริปต์ปัจจุบัน (เช่น ออบเจ็กต์ "window" ของ JavaScript) นอกจากนี้ยังเรียกใช้เมธอดนี้ในแฮนเดิลของบริบทสคริปต์สำหรับหน้าอื่นได้ด้วย เช่น otherWindow.chrome.app.window.current()

การคืนสินค้า

get()

chrome.app.window.get(
  id: string,
)
: AppWindow | undefined

รับ AppWindow ที่มีรหัสที่ระบุ หากไม่มีหน้าต่างที่มีรหัสที่ระบุ ระบบจะแสดงผลเป็น Null วิธีนี้เป็นวิธีใหม่ใน Chrome 33

พารามิเตอร์

  • id

    สตริง

การคืนสินค้า

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