chrome.input.ime

คำอธิบาย

ใช้ chrome.input.ime API เพื่อใช้งาน IME ที่กำหนดเองสำหรับ Chrome OS วิธีนี้ช่วยให้ส่วนขยายของคุณจัดการการกดแป้นพิมพ์ ตั้งค่าการเรียบเรียง และจัดการหน้าต่างตัวเลือกได้

สิทธิ์

input

คุณต้องประกาศสิทธิ์ "input" ในไฟล์ Manifest ของส่วนขยายเพื่อใช้ Input.ime API ตัวอย่างเช่น

{
  "name": "My extension",
  ...
  "permissions": [
    "input"
  ],
  ...
}

ความพร้อมใช้งาน

ChromeOS เท่านั้น

ตัวอย่าง

โค้ดต่อไปนี้จะสร้าง IME ที่แปลงตัวอักษรที่พิมพ์ให้เป็นตัวพิมพ์ใหญ่

var context_id = -1;

chrome.input.ime.onFocus.addListener(function(context) {
  context_id = context.contextID;
});

chrome.input.ime.onKeyEvent.addListener(
  function(engineID, keyData) {
    if (keyData.type == "keydown" && keyData.key.match(/^[a-z]$/)) {
      chrome.input.ime.commitText({"contextID": context_id,
                                    "text": keyData.key.toUpperCase()});
      return true;
    } else {
      return false;
    }
  }
);

ประเภท

AssistiveWindowButton

Chrome 85 ขึ้นไป

รหัสของปุ่มในหน้าต่างความช่วยเหลือพิเศษ

ค่าแจกแจง

"addToDictionary"

AssistiveWindowProperties

Chrome 85 ขึ้นไป

คุณสมบัติของหน้าต่างความช่วยเหลือพิเศษ

พร็อพเพอร์ตี้

  • announceString

    string ไม่บังคับ

    สตริงสำหรับ ChromeVox ที่จะประกาศ

  • ประเภท

  • มองเห็นได้

    boolean

    ตั้งค่า "จริง" เพื่อแสดง AssistiveWindow และตั้งค่า "เท็จ" เป็นซ่อน

AssistiveWindowType

Chrome 85 ขึ้นไป

ประเภทของหน้าต่างความช่วยเหลือพิเศษ

ค่า

AutoCapitalizeType

Chrome เวอร์ชัน 69 ขึ้นไป

ประเภทการใช้ตัวพิมพ์ใหญ่อัตโนมัติของช่องข้อความ

ค่าแจกแจง

"words"

InputContext

อธิบายบริบทของอินพุต

พร็อพเพอร์ตี้

  • autoCapitalize
    Chrome เวอร์ชัน 69 ขึ้นไป

    ประเภทการใช้ตัวพิมพ์ใหญ่อัตโนมัติของช่องข้อความ

  • autoComplete

    boolean

    ช่องข้อความต้องการการเติมข้อความอัตโนมัติหรือไม่

  • autoCorrect

    boolean

    ช่องข้อความต้องการการแก้ไขอัตโนมัติหรือไม่

  • contextID

    ตัวเลข

    ใช้เพื่อระบุเป้าหมายของการดำเนินการช่องข้อความ รหัสนี้จะใช้ไม่ได้ทันทีที่มีการเรียกใช้ onBlur

  • shouldDoLearning

    boolean

    Chrome 68 ขึ้นไป

    ควรใช้ข้อความที่ป้อนลงในช่องข้อความเพื่อปรับปรุงคำแนะนำในการพิมพ์สำหรับผู้ใช้หรือไม่

  • spellCheck

    boolean

    ช่องข้อความต้องการตรวจตัวสะกดหรือไม่

  • ประเภท

    ประเภทค่าที่แก้ไขช่องข้อความ (ข้อความ, ตัวเลข, URL ฯลฯ)

InputContextType

Chrome 44 ขึ้นไป

ประเภทค่าที่แก้ไขช่องข้อความ (ข้อความ, ตัวเลข, URL ฯลฯ)

ค่าแจกแจง

"tel"

"url"

"null"

KeyboardEvent

ดู http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent

พร็อพเพอร์ตี้

  • altKey

    บูลีน ไม่บังคับ

    กดปุ่ม ALT หรือไม่

  • altgrKey

    บูลีน ไม่บังคับ

    Chrome 79 ขึ้นไป

    กดปุ่ม ALTGR หรือไม่

  • capsLock

    บูลีน ไม่บังคับ

    ระบุว่า CAPS_LOCK เปิดใช้งานอยู่หรือไม่

  • รหัส

    string

    ค่าของคีย์จริงที่กด ค่านี้จะไม่ได้รับผลกระทบจากเลย์เอาต์แป้นพิมพ์ปัจจุบันหรือสถานะตัวปรับแต่ง

  • ctrlKey

    บูลีน ไม่บังคับ

    มีการกดปุ่ม Ctrl หรือไม่

  • extensionId

    string ไม่บังคับ

    รหัสส่วนขยายของผู้ส่งเหตุการณ์คีย์นี้

  • แป้น

    string

    ค่าของคีย์ที่กด

  • keyCode

    หมายเลข ไม่บังคับ

    KeyCode ของ HTML ที่เลิกใช้งานแล้ว ซึ่งเป็นโค้ดตัวเลขที่ขึ้นอยู่กับระบบและการใช้งาน ซึ่งใช้แทนตัวระบุที่ไม่ได้แก้ไขซึ่งเชื่อมโยงกับคีย์ที่กด

  • requestId

    string ไม่บังคับ

    (เลิกใช้งานแล้ว) รหัสของคำขอ ใช้พารามิเตอร์ requestId จากเหตุการณ์ onKeyEvent แทน

  • shiftKey

    บูลีน ไม่บังคับ

    กดปุ่ม SHIFT หรือไม่

  • ประเภท

    คีย์อัปหรือคีย์ดาวน์แบบใดแบบหนึ่ง

KeyboardEventType

Chrome 44 ขึ้นไป

ค่าแจกแจง

"keyup"

"keydown"

MenuItem

รายการเมนูที่วิธีการป้อนข้อมูลใช้เพื่อโต้ตอบกับผู้ใช้จากเมนูภาษา

พร็อพเพอร์ตี้

  • เลือกไว้

    บูลีน ไม่บังคับ

    บ่งบอกว่ารายการนี้ควรวาดด้วยเครื่องหมายถูก

  • เปิดใช้อยู่

    บูลีน ไม่บังคับ

    บ่งบอกว่ามีการเปิดใช้รายการนี้แล้ว

  • id

    string

    สตริงที่จะส่งไปยัง Callback ที่อ้างอิง MenuItem นี้

  • ป้ายกำกับ

    string ไม่บังคับ

    ข้อความที่แสดงในเมนูของรายการนี้

  • รูปแบบ

    MenuItemStyle ไม่บังคับ

    ประเภทของรายการในเมนู

  • มองเห็นได้

    บูลีน ไม่บังคับ

    บ่งบอกว่ารายการนี้มองเห็นได้

MenuItemStyle

Chrome 44 ขึ้นไป

ประเภทของรายการในเมนู ระบบจะถือว่าปุ่มตัวเลือกระหว่างตัวคั่นที่เป็นกลุ่ม

ค่าแจกแจง

MenuParameters

Chrome เวอร์ชัน 88 ขึ้นไป

พร็อพเพอร์ตี้

  • engineID

    string

    รหัสของเครื่องมือที่จะใช้

  • items

    MenuItem ที่จะเพิ่มหรืออัปเดต ซึ่งจะเพิ่มตามลำดับที่มีอยู่ในอาร์เรย์

MouseButton

Chrome 44 ขึ้นไป

ปุ่มเมาส์ใดถูกคลิก

ค่าแจกแจง

ScreenType

Chrome 44 ขึ้นไป

ประเภทหน้าจอที่เปิดใช้งาน IME

ค่าแจกแจง

UnderlineStyle

Chrome 44 ขึ้นไป

ประเภทของการขีดเส้นใต้เพื่อแก้ไขส่วนนี้

ค่าแจกแจง

"underline"

WindowPosition

Chrome 44 ขึ้นไป

ตำแหน่งที่จะแสดงหน้าต่างตัวเลือก หากตั้งค่าเป็น "เคอร์เซอร์" หน้าต่างจะเลื่อนตามเคอร์เซอร์ หากตั้งค่าเป็น "การเรียบเรียง" หน้าต่างจะล็อกไว้ที่จุดเริ่มต้นของการเรียบเรียง

ค่าแจกแจง

"composition"

วิธีการ

clearComposition()

สัญญา
chrome.input.ime.clearComposition(
  parameters: object,
  callback?: function,
)

ล้างองค์ประกอบปัจจุบัน หากส่วนขยายนี้ไม่ได้เป็นเจ้าของ IME ที่ใช้งานอยู่จะไม่สามารถดำเนินการได้

พารามิเตอร์

  • พารามิเตอร์

    ออบเจ็กต์

    • contextID

      ตัวเลข

      รหัสของบริบทที่จะล้างการเรียบเรียง

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (success: boolean) => void

    • สำเร็จ

      boolean

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

  • Promise<boolean>

    Chrome 111 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback เพื่อรองรับความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ โดยสัญญาจะได้รับการแก้ไขด้วยประเภทเดียวกันกับที่ส่งไปยัง Callback

commitText()

สัญญา
chrome.input.ime.commitText(
  parameters: object,
  callback?: function,
)

ย้ายข้อความที่ให้ไว้ไปยังอินพุตปัจจุบัน

พารามิเตอร์

  • พารามิเตอร์

    ออบเจ็กต์

    • contextID

      ตัวเลข

      รหัสของบริบทที่จะมีการคอมมิตข้อความ

    • ข้อความ

      string

      ข้อความที่จะยืนยัน

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (success: boolean) => void

    • สำเร็จ

      boolean

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

  • Promise<boolean>

    Chrome 111 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback เพื่อรองรับความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ โดยสัญญาจะได้รับการแก้ไขด้วยประเภทเดียวกันกับที่ส่งไปยัง Callback

deleteSurroundingText()

สัญญา
chrome.input.ime.deleteSurroundingText(
  parameters: object,
  callback?: function,
)

ลบข้อความรอบๆ เครื่องหมายตก

พารามิเตอร์

  • พารามิเตอร์

    ออบเจ็กต์

    • contextID

      ตัวเลข

      รหัสของบริบทที่ข้อความโดยรอบจะถูกลบ

    • engineID

      string

      รหัสของเครื่องมือที่รับเหตุการณ์

    • length

      ตัวเลข

      จำนวนอักขระที่จะลบ

    • หักลบ

      ตัวเลข

      ค่าออฟเซ็ตจากตำแหน่งเคอร์เซอร์ข้อความจะเริ่มต้นการลบ ค่านี้อาจเป็นลบได้

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    () => void

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

  • Promise<void>

    Chrome 111 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback เพื่อรองรับความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ โดยสัญญาจะได้รับการแก้ไขด้วยประเภทเดียวกันกับที่ส่งไปยัง Callback

hideInputView()

chrome.input.ime.hideInputView()

ซ่อนหน้าต่างมุมมองการป้อนข้อมูล และระบบจะแสดงป๊อปอัปขึ้นมาโดยอัตโนมัติ หากหน้าต่างมุมมองอินพุตซ่อนอยู่แล้ว ฟังก์ชันนี้จะทำงานไม่ได้

keyEventHandled()

chrome.input.ime.keyEventHandled(
  requestId: string,
  response: boolean,
)

ระบุว่าเหตุการณ์สำคัญที่ onKeyEvent ได้รับได้รับการจัดการ ควรมีการเรียกใช้ก็ต่อเมื่อ Listener onKeyEvent เป็นแบบไม่พร้อมกันเท่านั้น

พารามิเตอร์

  • requestId

    string

    รหัสคำขอของเหตุการณ์ที่จัดการ ซึ่งควรมาจาก keyEvent.requestId

  • การตอบกลับ

    boolean

    จริง หากมีการจัดการการกดแป้นพิมพ์ เท็จหากไม่ใช่

sendKeyEvents()

สัญญา
chrome.input.ime.sendKeyEvents(
  parameters: object,
  callback?: function,
)

ส่งเหตุการณ์สําคัญ ฟังก์ชันนี้ต้องใช้โดยแป้นพิมพ์เสมือน เมื่อผู้ใช้กดแป้นบนแป้นพิมพ์เสมือน ระบบจะใช้ฟังก์ชันนี้เพื่อเผยแพร่เหตุการณ์ดังกล่าวไปยังระบบ

พารามิเตอร์

  • พารามิเตอร์

    ออบเจ็กต์

    • contextID

      ตัวเลข

      รหัสของบริบทที่จะส่งเหตุการณ์สำคัญ หรือเป็น 0 เพื่อส่งเหตุการณ์สำคัญไปยังช่องที่ไม่ใช่อินพุต

    • keyData

      ข้อมูลเกี่ยวกับเหตุการณ์สําคัญ

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    () => void

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

  • Promise<void>

    Chrome 111 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback เพื่อรองรับความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ โดยสัญญาจะได้รับการแก้ไขด้วยประเภทเดียวกันกับที่ส่งไปยัง Callback

setAssistiveWindowButtonHighlighted()

Promise Chrome 86 ขึ้นไป
chrome.input.ime.setAssistiveWindowButtonHighlighted(
  parameters: object,
  callback?: function,
)

ไฮไลต์/เลิกไฮไลต์ปุ่มในหน้าต่างความช่วยเหลือพิเศษ

พารามิเตอร์

  • พารามิเตอร์

    ออบเจ็กต์

    • announceString

      string ไม่บังคับ

      ข้อความที่โปรแกรมอ่านหน้าจอจะแจ้ง

    • รหัสของปุ่ม

    • contextID

      ตัวเลข

      รหัสของบริบทที่เป็นเจ้าของหน้าต่างความช่วยเหลือ

    • ไฮไลต์ไว้

      boolean

      ควรไฮไลต์ปุ่มไหม

    • windowType

      ประเภทหน้าต่างที่มีปุ่ม

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    () => void

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

  • Promise<void>

    Chrome 111 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback เพื่อรองรับความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ โดยสัญญาจะได้รับการแก้ไขด้วยประเภทเดียวกันกับที่ส่งไปยัง Callback

setAssistiveWindowProperties()

Promise Chrome 85 ขึ้นไป
chrome.input.ime.setAssistiveWindowProperties(
  parameters: object,
  callback?: function,
)

แสดง/ซ่อนหน้าต่างความช่วยเหลือพิเศษที่มีพร็อพเพอร์ตี้ที่ระบุ

พารามิเตอร์

  • พารามิเตอร์

    ออบเจ็กต์

    • contextID

      ตัวเลข

      รหัสของบริบทที่เป็นเจ้าของหน้าต่างความช่วยเหลือ

    • พร็อพเพอร์ตี้

      คุณสมบัติของหน้าต่างความช่วยเหลือพิเศษ

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (success: boolean) => void

    • สำเร็จ

      boolean

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

  • Promise<boolean>

    Chrome 111 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback เพื่อรองรับความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ โดยสัญญาจะได้รับการแก้ไขด้วยประเภทเดียวกันกับที่ส่งไปยัง Callback

setCandidates()

สัญญา
chrome.input.ime.setCandidates(
  parameters: object,
  callback?: function,
)

กำหนดรายชื่อผู้สมัครปัจจุบัน การดำเนินการนี้จะไม่สำเร็จหากส่วนขยายนี้ไม่ได้เป็นเจ้าของ IME ที่ใช้งานอยู่

พารามิเตอร์

  • พารามิเตอร์

    ออบเจ็กต์

    • ตัวเลือก

      วัตถุ[]

      รายชื่อผู้สมัครที่จะแสดงในหน้าต่างผู้สมัคร

      • คำอธิบายประกอบ

        string ไม่บังคับ

        ข้อความเพิ่มเติมที่อธิบายผู้สมัคร

      • ตัวเลือก

        string

        ผู้สมัคร

      • id

        ตัวเลข

        รหัสของผู้สมัคร

      • ป้ายกำกับ

        string ไม่บังคับ

        สตริงสั้นๆ ที่ปรากฏถัดจากผู้สมัคร ซึ่งมักจะเป็นแป้นพิมพ์ลัดหรือดัชนี

      • parentId

        หมายเลข ไม่บังคับ

        รหัสที่จะเพิ่มตัวเลือกเหล่านี้ใต้

      • การใช้งาน

        ออบเจ็กต์ไม่บังคับ

        การใช้หรือคำอธิบายรายละเอียดของคำ

        • body

          string

          สตริงเนื้อหาของคำอธิบายรายละเอียด

        • title

          string

          สตริงชื่อของคำอธิบายรายละเอียด

    • contextID

      ตัวเลข

      รหัสของบริบทที่เป็นเจ้าของหน้าต่างผู้สมัคร

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (success: boolean) => void

    • สำเร็จ

      boolean

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

  • Promise<boolean>

    Chrome 111 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback เพื่อรองรับความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ โดยสัญญาจะได้รับการแก้ไขด้วยประเภทเดียวกันกับที่ส่งไปยัง Callback

setCandidateWindowProperties()

สัญญา
chrome.input.ime.setCandidateWindowProperties(
  parameters: object,
  callback?: function,
)

ตั้งค่าคุณสมบัติของหน้าต่างตัวเลือก การดำเนินการนี้จะไม่สำเร็จหากส่วนขยายไม่ได้เป็นเจ้าของ IME ที่ใช้งานอยู่

พารามิเตอร์

  • พารามิเตอร์

    ออบเจ็กต์

    • engineID

      string

      รหัสของเครื่องมือที่จะตั้งค่าพร็อพเพอร์ตี้

    • พร็อพเพอร์ตี้

      ออบเจ็กต์

      • auxiliaryText

        string ไม่บังคับ

        ข้อความที่ปรากฏที่ด้านล่างของหน้าต่างผู้สมัคร

      • auxiliaryTextVisible

        บูลีน ไม่บังคับ

        "จริง" เพื่อแสดงข้อความเสริม "เท็จ" เพื่อซ่อนข้อความ

      • currentCandidateIndex

        หมายเลข ไม่บังคับ

        Chrome 84 ขึ้นไป

        ดัชนีของผู้สมัครที่เลือกในปัจจุบันจากผู้สมัครทั้งหมด

      • cursorVisible

        บูลีน ไม่บังคับ

        "จริง" เพื่อแสดงเคอร์เซอร์ "เท็จ" หากต้องการซ่อนเคอร์เซอร์

      • pageSize

        หมายเลข ไม่บังคับ

        จำนวนตัวเลือกที่จะแสดงต่อ 1 หน้า

      • totalCandidates

        หมายเลข ไม่บังคับ

        Chrome 84 ขึ้นไป

        จำนวนผู้สมัครทั้งหมดสำหรับกรอบเวลาของผู้สมัคร

      • แนวตั้ง

        บูลีน ไม่บังคับ

        จริง หากหน้าต่างตัวเลือกควรแสดงเป็นแนวตั้ง และเป็นเท็จเพื่อทำให้เป็นแนวนอน

      • มองเห็นได้

        บูลีน ไม่บังคับ

        "จริง" เพื่อแสดงหน้าต่างผู้สมัคร "เท็จ" หากแสดงหน้าต่างดังกล่าว

      • windowPosition

        WindowPosition ไม่บังคับ

        ตำแหน่งที่จะแสดงหน้าต่างตัวเลือก

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (success: boolean) => void

    • สำเร็จ

      boolean

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

  • Promise<boolean>

    Chrome 111 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback เพื่อรองรับความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ โดยสัญญาจะได้รับการแก้ไขด้วยประเภทเดียวกันกับที่ส่งไปยัง Callback

setComposition()

สัญญา
chrome.input.ime.setComposition(
  parameters: object,
  callback?: function,
)

ตั้งค่าการเรียบเรียงปัจจุบัน หากส่วนขยายนี้ไม่ได้เป็นเจ้าของ IME ที่ใช้งานอยู่จะไม่สามารถดำเนินการได้

พารามิเตอร์

  • พารามิเตอร์

    ออบเจ็กต์

    • contextID

      ตัวเลข

      รหัสของบริบทที่จะตั้งค่าข้อความการเรียบเรียง

    • เคอร์เซอร์

      ตัวเลข

      ตำแหน่งในข้อความของเคอร์เซอร์

    • กลุ่มเป้าหมายที่คล้ายกัน

      object[] ไม่บังคับ

      รายการกลุ่มและประเภทที่เกี่ยวข้อง

      • สิ้นสุด

        ตัวเลข

        ดัชนีของอักขระที่จะสิ้นสุดส่วนนี้หลังจาก

      • เริ่มต้น

        ตัวเลข

        ดัชนีของอักขระที่จะเริ่มต้นกลุ่มนี้ที่

      • รูปแบบ

        ประเภทของการขีดเส้นใต้เพื่อแก้ไขส่วนนี้

    • selectionEnd

      หมายเลข ไม่บังคับ

      ตำแหน่งในข้อความที่สิ้นสุดการเลือก

    • selectionStart

      หมายเลข ไม่บังคับ

      ตำแหน่งในข้อความที่เริ่มการเลือก

    • ข้อความ

      string

      ข้อความที่จะตั้งค่า

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (success: boolean) => void

    • สำเร็จ

      boolean

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

  • Promise<boolean>

    Chrome 111 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback เพื่อรองรับความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ โดยสัญญาจะได้รับการแก้ไขด้วยประเภทเดียวกันกับที่ส่งไปยัง Callback

setCursorPosition()

สัญญา
chrome.input.ime.setCursorPosition(
  parameters: object,
  callback?: function,
)

กำหนดตำแหน่งของเคอร์เซอร์ในหน้าต่างตัวเลือก จะไม่มีผลหากส่วนขยายนี้ไม่ได้เป็นเจ้าของ IME ที่ใช้งานอยู่

พารามิเตอร์

  • พารามิเตอร์

    ออบเจ็กต์

    • candidateID

      ตัวเลข

      รหัสของผู้สมัครที่จะเลือก

    • contextID

      ตัวเลข

      รหัสของบริบทที่เป็นเจ้าของหน้าต่างผู้สมัคร

  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (success: boolean) => void

    • สำเร็จ

      boolean

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

  • Promise<boolean>

    Chrome 111 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback เพื่อรองรับความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ โดยสัญญาจะได้รับการแก้ไขด้วยประเภทเดียวกันกับที่ส่งไปยัง Callback

setMenuItems()

สัญญา
chrome.input.ime.setMenuItems(
  parameters: MenuParameters,
  callback?: function,
)

เพิ่มรายการเมนูที่มีให้ลงในเมนูภาษาเมื่อ IME นี้ทำงานอยู่

พารามิเตอร์

  • พารามิเตอร์
  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    () => void

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

  • Promise<void>

    Chrome 111 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback เพื่อรองรับความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ โดยสัญญาจะได้รับการแก้ไขด้วยประเภทเดียวกันกับที่ส่งไปยัง Callback

updateMenuItems()

สัญญา
chrome.input.ime.updateMenuItems(
  parameters: MenuParameters,
  callback?: function,
)

อัปเดตสถานะของ MenuItems ที่ระบุ

พารามิเตอร์

  • พารามิเตอร์
  • Callback

    ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    () => void

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

  • Promise<void>

    Chrome 111 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไป แต่จะมี Callback เพื่อรองรับความเข้ากันได้แบบย้อนหลัง คุณไม่สามารถใช้ทั้ง 2 อย่างในการเรียกใช้ฟังก์ชันเดียวกันได้ โดยสัญญาจะได้รับการแก้ไขด้วยประเภทเดียวกันกับที่ส่งไปยัง Callback

กิจกรรม

onActivate

chrome.input.ime.onActivate.addListener(
  callback: function,
)

ระบบจะส่งเหตุการณ์นี้เมื่อมีการเปิดใช้งาน IME โดยส่งสัญญาณว่า IME จะได้รับเหตุการณ์ onKeyPress

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    พารามิเตอร์ callback มีลักษณะดังนี้

    (engineID: string, screen: ScreenType) => void

onAssistiveWindowButtonClicked

Chrome 85 ขึ้นไป
chrome.input.ime.onAssistiveWindowButtonClicked.addListener(
  callback: function,
)

ระบบจะส่งเหตุการณ์นี้เมื่อมีการคลิกปุ่มในหน้าต่างความช่วยเหลือพิเศษ

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    พารามิเตอร์ callback มีลักษณะดังนี้

    (details: object) => void

    • รายละเอียด

      ออบเจ็กต์

      • รหัสของปุ่มที่คลิก

      • windowType

        ประเภทของหน้าต่างความช่วยเหลือพิเศษ

onBlur

chrome.input.ime.onBlur.addListener(
  callback: function,
)

ระบบจะส่งเหตุการณ์นี้เมื่อโฟกัสออกจากกล่องข้อความ ระบบจะส่งข้อมูลไปยังส่วนขยายทั้งหมดที่ฟังเหตุการณ์นี้ และเปิดใช้โดยผู้ใช้

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    พารามิเตอร์ callback มีลักษณะดังนี้

    (contextID: number) => void

    • contextID

      ตัวเลข

onCandidateClicked

chrome.input.ime.onCandidateClicked.addListener(
  callback: function,
)

ระบบจะส่งเหตุการณ์นี้หากส่วนขยายนี้เป็นเจ้าของ IME ที่ใช้งานอยู่

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    พารามิเตอร์ callback มีลักษณะดังนี้

    (engineID: string, candidateID: number, button: MouseButton) => void

    • engineID

      string

    • candidateID

      ตัวเลข

    • ปุ่ม

onDeactivated

chrome.input.ime.onDeactivated.addListener(
  callback: function,
)

ระบบจะส่งเหตุการณ์นี้เมื่อมีการปิดใช้งาน IME ซึ่งเป็นสัญญาณว่า IME จะไม่ได้รับเหตุการณ์ onKeyPress อีกต่อไป

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    พารามิเตอร์ callback มีลักษณะดังนี้

    (engineID: string) => void

    • engineID

      string

onFocus

chrome.input.ime.onFocus.addListener(
  callback: function,
)

ระบบจะส่งเหตุการณ์นี้เมื่อโฟกัสป้อนกล่องข้อความ ระบบจะส่งข้อมูลไปยังส่วนขยายทั้งหมดที่ฟังเหตุการณ์นี้ และเปิดใช้โดยผู้ใช้

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    พารามิเตอร์ callback มีลักษณะดังนี้

    (context: InputContext) => void

onInputContextUpdate

chrome.input.ime.onInputContextUpdate.addListener(
  callback: function,
)

ระบบจะส่งเหตุการณ์นี้เมื่อพร็อพเพอร์ตี้ของ InputContext ปัจจุบันมีการเปลี่ยนแปลง เช่น ประเภท ระบบจะส่งข้อมูลไปยังส่วนขยายทั้งหมดที่ฟังเหตุการณ์นี้ และเปิดใช้โดยผู้ใช้

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    พารามิเตอร์ callback มีลักษณะดังนี้

    (context: InputContext) => void

onKeyEvent

chrome.input.ime.onKeyEvent.addListener(
  callback: function,
)

เริ่มทำงานเมื่อมีการส่งเหตุการณ์สำคัญจากระบบปฏิบัติการ ระบบจะส่งเหตุการณ์ไปยังส่วนขยายหากส่วนขยายนี้เป็นเจ้าของ IME ที่ใช้งานอยู่ ฟังก์ชัน Listener ควรแสดงผลเป็น "จริง" หากเหตุการณ์ได้รับการจัดการเป็น "เท็จ" หากไม่ใช่ หากมีการประเมินเหตุการณ์แบบไม่พร้อมกัน ฟังก์ชันนี้จะต้องแสดงผลเป็นไม่ระบุและ IME จะต้องเรียก keyEventHandled() ในภายหลังพร้อมด้วยผลลัพธ์

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    พารามิเตอร์ callback มีลักษณะดังนี้

    (engineID: string, keyData: KeyboardEvent, requestId: string) => boolean | undefined

    • returns

      บูลีน | ไม่ระบุ

onMenuItemActivated

chrome.input.ime.onMenuItemActivated.addListener(
  callback: function,
)

เรียกใช้เมื่อผู้ใช้เลือกรายการในเมนู

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    พารามิเตอร์ callback มีลักษณะดังนี้

    (engineID: string, name: string) => void

    • engineID

      string

    • ชื่อ

      string

onReset

chrome.input.ime.onReset.addListener(
  callback: function,
)

ระบบจะส่งเหตุการณ์นี้เมื่อ Chrome สิ้นสุดเซสชันการป้อนข้อความต่อเนื่อง

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    พารามิเตอร์ callback มีลักษณะดังนี้

    (engineID: string) => void

    • engineID

      string

onSurroundingTextChanged

chrome.input.ime.onSurroundingTextChanged.addListener(
  callback: function,
)

มีการเรียกเมื่อสตริงที่แก้ไขได้รอบเครื่องหมายตกหรือเมื่อย้ายตำแหน่งเคอร์เซอร์ข้อความ ข้อความในแต่ละทิศทางจะมีความยาวได้ไม่เกิน 100 อักขระ

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    พารามิเตอร์ callback มีลักษณะดังนี้

    (engineID: string, surroundingInfo: object) => void

    • engineID

      string

    • surroundingInfo

      ออบเจ็กต์

      • แท็ก Anchor

        ตัวเลข

        ตำแหน่งเริ่มต้นของการเลือก ค่านี้จะแสดงตำแหน่งของเคอร์เซอร์ข้อความหากไม่มีการเลือก

      • โฟกัส

        ตัวเลข

        ตำแหน่งสิ้นสุดของรายการที่เลือก ค่านี้จะแสดงตำแหน่งของเคอร์เซอร์ข้อความหากไม่มีการเลือก

      • หักลบ

        ตัวเลข

        Chrome 46 ขึ้นไป

        ตำแหน่งออฟเซ็ต text เนื่องจาก text มีเฉพาะข้อความบางส่วนรอบเคอร์เซอร์ ออฟเซ็ตจะแสดงตำแหน่งสัมบูรณ์ของอักขระตัวแรกของ text

      • ข้อความ

        string

        ข้อความรอบๆ เคอร์เซอร์ ข้อความนี้เป็นเพียงชุดย่อยของข้อความทั้งหมดในช่องป้อนข้อมูล