การเปลี่ยนแปลงเกี่ยวกับการเปิดใช้ chrome.userScripts ในส่วนขยาย Chrome

Justin Lulejian
Justin Lulejian

เผยแพร่: 29 พฤษภาคม 2025

ตั้งแต่ Chrome 138 เป็นต้นไป มีการทําการเปลี่ยนแปลงสคริปต์ของผู้ใช้ (chrome.userScripts API) ในส่วนขยาย Chrome หลายรายการ โดยมุ่งเน้นที่การปรับปรุงความปลอดภัยและมอบการควบคุมที่ละเอียดยิ่งขึ้นให้แก่ผู้ใช้ การอัปเดตนี้จัดการกับความคิดเห็นที่มีคุณค่าที่ได้รับจากชุมชนนักพัฒนาแอปและผู้ใช้

ก่อนหน้านี้ การเปิดใช้สคริปต์ของผู้ใช้ต้องเปิดปุ่มสลับโหมดนักพัฒนาซอฟต์แวร์ส่วนกลางภายใน Chrome เราทราบมาว่าแนวทางนี้มีข้อจำกัดที่สำคัญบางอย่างที่เกี่ยวข้องกับการรักษาความปลอดภัย ฟังก์ชันการทำงาน และองค์กร

กล่าวโดยละเอียดคือ การใช้ปุ่มเปิด/ปิดโหมดนักพัฒนาแอปทั่วโลกทำให้เกิดปัญหาต่อไปนี้

  • ความเสี่ยงด้านความปลอดภัย: เมื่อเปิดใช้โหมดนักพัฒนาซอฟต์แวร์แล้ว ส่วนขยายใหม่ซึ่งขอสิทธิ์ userScripts จะทํางานสคริปต์ของผู้ใช้ได้โดยอัตโนมัติ ซึ่งอาจไม่ได้รับความยินยอมจากผู้ใช้อย่างชัดเจนหรือไม่ทราบว่ามีความเสี่ยงที่เชื่อมโยงกับส่วนขยายใหม่แต่ละรายการ
  • ฟังก์ชันการทำงานมากเกินไป: ปุ่มเปิด/ปิดโหมดนักพัฒนาแอปจะควบคุมสิทธิ์อื่นๆ อีกหลายรายการที่มุ่งเน้นนักพัฒนาแอป ซึ่งทำให้การจัดการสิทธิ์ที่เฉพาะเจาะจงในการเรียกใช้สคริปต์ของผู้ใช้มีความแม่นยำน้อยลง
  • ความท้าทายขององค์กร: องค์กรจำนวนมากไม่ต้องการเปิดใช้โหมดนักพัฒนาซอฟต์แวร์ในอุปกรณ์ที่มีการจัดการ ซึ่งทำให้ติดตั้งใช้งานหรือใช้ส่วนขยายที่อาศัย chrome.userScripts API ไม่ได้

เพื่อคลายข้อกังวลเหล่านี้และปรับปรุงความปลอดภัยและความสามารถในการใช้งานส่วนขยาย Chrome เราจึงเปลี่ยนจากปุ่มเปิด/ปิดโหมดนักพัฒนาซอฟต์แวร์แบบรวมเป็นปุ่มเปิด/ปิดอนุญาตให้ใช้สคริปต์ของผู้ใช้แบบใหม่สำหรับแต่ละส่วนขยาย

ปุ่มเปิด/ปิดใหม่นี้ซึ่งเข้าถึงได้ในหน้ารายละเอียดส่วนขยายจาก Chrome 138 (chrome://extensions/?id=<your_extension_id>) จะช่วยให้ผู้ใช้ควบคุมความสามารถของส่วนขยายในการเรียกใช้สคริปต์ของผู้ใช้ในแต่ละส่วนขยายได้อย่างชัดเจน วิธีนี้ช่วยให้ควบคุมได้ละเอียดยิ่งขึ้นและลดความเสี่ยงด้านความปลอดภัยที่อาจเกิดขึ้น

กล่องโต้ตอบ &quot;อนุญาตสคริปต์ของผู้ใช้&quot;

ในช่วงเปลี่ยนผ่านนี้ Chrome เวอร์ชันก่อน 138 จะยังคงใช้ปุ่มสลับโหมดนักพัฒนาซอฟต์แวร์ต่อไป ส่วนเวอร์ชัน 138 ขึ้นไปจะใช้ปุ่มสลับอนุญาตสคริปต์ของผู้ใช้ใหม่สำหรับแต่ละส่วนขยาย เมื่อเปิดตัว 138 เป็นครั้งแรก ระบบจะเปิดใช้ปุ่มสลับใหม่โดยอัตโนมัติสําหรับส่วนขยายที่มีอยู่ซึ่งได้รับสิทธิ์ userScripts หากเปิดใช้ปุ่มสลับโหมดนักพัฒนาซอฟต์แวร์ ส่วนขยายใหม่ทั้งหมดที่ติดตั้งหลังจากการย้ายข้อมูลจะตั้งค่าปุ่มสลับอนุญาตสคริปต์ของผู้ใช้เป็นปิดโดยค่าเริ่มต้น

นอกจากนี้ หากต้องการตรวจสอบความพร้อมใช้งานของ User Scripts API ก่อนหน้านี้ส่วนขยายต้องพยายามเข้าถึง chrome.userScripts ซึ่งจะแสดงข้อผิดพลาดหากปิดใช้โหมดนักพัฒนาซอฟต์แวร์ ตั้งแต่ Chrome 138 ลักษณะการทำงานจะสอดคล้องกับ API อื่นๆ และระบบจะไม่ระบุ API หากไม่พร้อมใช้งาน อย่างไรก็ตาม เราขอแนะนำให้ทำการตรวจสอบนี้เพื่อดูว่า API พร้อมใช้งานหรือไม่ เนื่องจากครอบคลุม Chrome ทุกเวอร์ชัน

function isUserScriptsAvailable() {
  try {
    // Method call which throws if API permission or toggle is not enabled.
    chrome.userScripts.getScripts();
    return true;
  } catch {
    // Not available.
    return false;
  }
}

ผู้ดูแลระบบที่เคยจัดการสคริปต์ของผู้ใช้ด้วยการปิดใช้โหมดนักพัฒนาซอฟต์แวร์ตอนนี้ควรใช้นโยบาย blocked_permissions หรือคอนโซลผู้ดูแลระบบของ Google เพื่อควบคุมส่วนขยายที่ใช้ chrome.userScripts API เรากําลังประเมินการเปลี่ยนแปลงเพิ่มเติมเกี่ยวกับวิธีควบคุมการเข้าถึง chrome.userScripts สําหรับส่วนขยายที่ติดตั้งโดยบังคับ ดังนั้นโปรดติดตามหมายเหตุการเผยแพร่ของผู้ดูแลระบบเพื่อดูข้อมูลอัปเดต

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงและลักษณะการทำงานใหม่ได้ในเอกสารประกอบ

ขอขอบคุณความคิดเห็นจากชุมชนนักพัฒนาแอปที่ช่วยให้เกิดการปรับปรุงนี้ และเรายังคงมุ่งมั่นที่จะสร้างประสบการณ์การใช้งานที่ปลอดภัยและใช้งานง่ายสำหรับทุกคน