ตัวเลือกการเผยแพร่ส่วนขยายอื่นๆ

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

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

  • ส่วนขยายเชื่อมโยงกับซอฟต์แวร์อื่นๆ บางประเภท และควรติดตั้งส่วนขยายดังกล่าว เมื่อใดก็ตามที่ผู้ใช้ติดตั้งซอฟต์แวร์นั้น
  • ผู้ดูแลระบบเครือข่ายต้องการติดตั้งส่วนขยายเดียวกันทั่วทั้งองค์กร

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

  • การใช้ไฟล์ JSON ค่ากำหนด (สำหรับ Mac OS X และ Linux เท่านั้น)
  • การใช้รีจิสทรีของ Windows (สำหรับ Windows เท่านั้น)

ทั้ง 2 วิธีรองรับการติดตั้งส่วนขยายที่โฮสต์ใน update_URL ใน Windows และ Mac ฟังก์ชัน update_URL ต้องชี้ไปยัง Chrome เว็บสโตร์ซึ่งต้องโฮสต์ส่วนขยายไว้

ไฟล์ค่ากำหนดใน Linux สามารถชี้ไปยังเซิร์ฟเวอร์ของคุณเองที่คุณโฮสต์ส่วนขยายไว้ ไฟล์ JSON ของค่ากำหนดยังรองรับการติดตั้งส่วนขยายจากไฟล์ส่วนขยาย .crx ใน คอมพิวเตอร์ Linux ของผู้ใช้

ก่อนเริ่มต้น

ก่อนอื่น เผยแพร่ส่วนขยายใน Chrome เว็บสโตร์ หรือจัดแพ็กเกจไฟล์ .crx และตั้งชื่อ ให้ตรวจสอบว่าได้ติดตั้งสำเร็จแล้ว

หากติดตั้งจาก URL อัปเดต โปรดตรวจสอบว่าส่วนขยายได้รับการโฮสต์อย่างถูกต้อง

ก่อนแก้ไขไฟล์ค่ากำหนดหรือรีจิสทรี โปรดพิจารณาสิ่งต่อไปนี้

  • ตำแหน่งที่ต้องการของไฟล์ .crx ของส่วนขยาย หรือ URL อัปเดตของไฟล์ ให้บริการ
  • เวอร์ชันของส่วนขยาย (จากไฟล์ Manifest หรือหน้า chrome://extensions)
  • รหัสของส่วนขยาย (จากหน้า chrome://extensions เมื่อโหลด ส่วนขยาย)

ตัวอย่างต่อไปนี้คือเวอร์ชัน 1.0 และรหัสคือ aaaaaaaaaabbbbbbbbbbcccccccccc

การใช้ไฟล์ค่ากำหนด

  1. หากคุณติดตั้งจากไฟล์ใน Linux โปรดทำให้ไฟล์ส่วนขยาย .crx พร้อมใช้งานกับ อุปกรณ์ที่ต้องการติดตั้งส่วนขยาย (คัดลอกไปยังไดเรกทอรีในเครื่องหรือไปยังเครือข่าย แชร์ เช่น \\server\share\extension.crx หรือ /home/share/extension.crx)
  2. สร้างไฟล์ที่มีชื่อต่อไปนี้ในโฟลเดอร์ใดโฟลเดอร์หนึ่งที่แสดงด้านล่าง aaaaaaaaaabbbbbbbbbbcccccccccc.json โดยที่ชื่อไฟล์ (ไม่มีนามสกุล) สอดคล้องกับ รหัสส่วนขยายของคุณ ตำแหน่งจะขึ้นอยู่กับระบบปฏิบัติการ

    Mac OS X

    สำหรับผู้ใช้บางราย ~USERNAME/Library/Application Support/Google/Chrome/External Extensions/ สำหรับผู้ใช้ทุกคน: /Library/Application Support/Google/Chrome/External Extensions/

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

    Linux:

    /opt/google/chrome/extensions/

    /usr/share/google-chrome/extensions/

    หมายเหตุ: ใช้ chmod หากจำเป็นเพื่อให้แน่ใจว่าองค์ประกอบ aaaaaaaaaabbbbbbbbbbcccccccccc.json สามารถอ่านได้ทั่วโลก

  3. Linux เท่านั้น: หากคุณติดตั้งจากไฟล์ ให้ระบุตำแหน่งและเวอร์ชันของส่วนขยายด้วย ฟิลด์ชื่อ "external_crx" และ "external_version" ในไฟล์ที่สร้างขึ้นด้านบน

    • ตัวอย่าง
    • json { "external_crx": "/home/share/extension.crx", "external_version": "1.0" }
    • หมายเหตุ: คุณต้องไม่ใช้ \` character in the location. For example,\server\share\extension.crxwould be"\\server\share\extension.crx"` แต่ละครั้ง
    • หากกำลังติดตั้งจาก URL อัปเดต ให้ระบุ URL อัปเดตของส่วนขยายด้วยชื่อช่อง "external_update_url"
    • ตัวอย่างการติดตั้งจากไฟล์ .crx ในเครื่อง (Linux เท่านั้น):
    • json { "external_update_url": "http://myhost.com/mytestextension/updates.xml" }
    • ตัวอย่างการติดตั้งจาก Chrome เว็บสโตร์ (Mac และ Linux)
    • json { "external_update_url": "https://clients2.google.com/service/update2/crx" }
    • หากต้องการติดตั้งส่วนขยายเฉพาะภาษาของเบราว์เซอร์บางภาษา ให้ระบุรายการที่รองรับ ภาษาในชื่อฟิลด์ "supported_locale" ภาษาอาจระบุภาษาหลัก เช่น "en" ไว้ในข้อความนี้ ส่วนขยายจะได้รับการติดตั้งสำหรับภาษาอังกฤษทั้งหมด เช่น "en-US", "en-GB" เป็นต้น มีการเลือกภาษาของเบราว์เซอร์อีกภาษาหนึ่งที่ส่วนขยายไม่สนับสนุน ซึ่งก็คือภาษาภายนอก ส่วนขยายจะถูกถอนการติดตั้ง หากเป็น "supported_locales" ไม่มีรายการ ส่วนขยายจะ ติดตั้งสำหรับภาษาใดภาษาหนึ่ง
    • ตัวอย่าง
    • json { "external_update_url": "https://clients2.google.com/service/update2/crx", "supported_locales": [ "en", "fr", "de" ] }
  4. บันทึกไฟล์ JSON

  5. เปิด Google Chrome แล้วไปที่ chrome://extensions คุณจะเห็นส่วนขยายแสดงอยู่

การแก้ปัญหาเกี่ยวกับสิทธิ์ของ Mac OS

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

  1. เปิดโปรแกรมคอนโซล คุณสามารถค้นหาเครื่องมือนี้ได้ในส่วน /Applications/Utilities/Console
  2. หากไอคอนซ้ายสุดในคอนโซลระบุว่า "แสดงรายการบันทึก" ให้คลิกไอคอนนั้น คอลัมน์ที่ 2 จะปรากฏขึ้นทางด้านซ้าย
  3. คลิก "ข้อความ Console" ในแผงด้านซ้าย
  4. ค้นหาสตริงอ่านส่วนขยายภายนอกไม่ได้ หากมีปัญหาในการอ่าน ไฟล์ส่วนขยายภายนอก คุณจะเห็นข้อความแสดงข้อผิดพลาด มองหาข้อความแสดงข้อผิดพลาดอื่น ไว้เหนือแท็กดังกล่าวโดยตรง ซึ่งควรจะอธิบายถึงปัญหาได้ ตัวอย่างเช่น ถ้าคุณเห็นข้อผิดพลาดต่อไปนี้ "เส้นทาง /Library/Application Support/Google/Chrome เป็นของกลุ่มที่ไม่ถูกต้อง" คุณจำเป็นต้องใช้ chgrp หรือกล่องโต้ตอบ "รับข้อมูล" ของ Finder เพื่อเปลี่ยนเจ้าของกลุ่มของไดเรกทอรีเป็น กลุ่มผู้ดูแลระบบ
  5. หลังจากแก้ปัญหาแล้ว ให้เปิด Chrome อีกครั้ง ทดสอบว่าติดตั้งส่วนขยายภายนอกแล้ว ทั้งนี้ เป็นไปได้ว่าข้อผิดพลาดด้านสิทธิ์ 1 รายการทำให้ Chrome ไม่สามารถตรวจพบข้อผิดพลาดรายการที่ 2 หาก ไม่ได้ติดตั้งส่วนขยายภายนอก ให้ทำขั้นตอนเหล่านี้ซ้ำจนกว่าจะไม่เห็นข้อผิดพลาดใน แอปพลิเคชันคอนโซล

การใช้รีจิสทรี Windows

  1. ค้นหาหรือสร้างคีย์ต่อไปนี้ในรีจิสทรี
    • Windows แบบ 32 บิต: HKEY_LOCAL_MACHINE\Software\Google\Chrome\Extensions
    • Windows 64 บิต: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Google\Chrome\Extensions
  2. สร้างคีย์ (โฟลเดอร์) ใหม่ภายใต้คีย์ ส่วนขยาย โดยใช้ชื่อเดียวกับรหัสของ ส่วนขยาย (เช่น aaaaaaaaaabbbbbbbbbbcccccccccc)
  3. ในคีย์ส่วนขยาย ให้สร้างพร็อพเพอร์ตี้ "update_url" และตั้งค่าเป็น "ค่า" "https://clients2.google.com/service/update2/crx" (ซึ่งจะชี้ไปที่ CRX ของส่วนขยายในส่วน Chrome เว็บสโตร์):

    {
      "update_url": "https://clients2.google.com/service/update2/crx"
    }
    
  4. เปิดเบราว์เซอร์และไปที่ chrome://extensions คุณจะเห็นส่วนขยายแสดงอยู่

การอัปเดตและการถอนการติดตั้ง

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

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

หากต้องการถอนการติดตั้งส่วนขยาย (เช่น หากถอนการติดตั้งซอฟต์แวร์แล้ว) ให้นำค่ากำหนดออก (aaaaaaaaabbbbbbbbcccccccc.json) หรือข้อมูลเมตาจากรีจิสทรี

คำถามที่พบบ่อย

ส่วนนี้จะตอบคำถามที่พบบ่อยเกี่ยวกับส่วนขยายภายนอก

วิธีการอนุญาตให้ "ติดตั้งล่วงหน้า" ยังคงรองรับโดย Google Chrome จาก M33 เป็นต้นไป

ใช่ แต่เป็นการติดตั้งจาก Chrome เว็บสโตร์ update_URL เท่านั้น ไม่ใช่จากเส้นทางไฟล์ในเครื่อง

ฉันจะระบุ URL เป็นเส้นทางไปยังส่วนขยายภายนอกได้ไหม

ใช่ ให้ใช้ไฟล์ preferences JSON สำหรับ Mac OS X และ Linux รีจิสทรีสำหรับ Windows ต้องโฮสต์ส่วนขยายตามที่อธิบายไว้ในโฮสติ้ง ในไฟล์ค่ากำหนด ให้ใช้ "external_update_url" ให้ชี้ไปยังไฟล์ Manifest อัปเดตที่มี URL สำหรับ ส่วนขยาย ในรีจิสทรีของ Windows ให้ใช้ "update_url"

ข้อผิดพลาดที่พบบ่อยเมื่อติดตั้งด้วยไฟล์ค่ากำหนดมีอะไรบ้าง

  • ไม่ได้ระบุรหัส/เวอร์ชันเดียวกันกับที่ระบุไว้ใน .crx
  • ไฟล์ .json (aaaaaaaaaabbbbbbbbbbcccccccccc.json) อยู่ในตำแหน่งที่ไม่ถูกต้องหรือรหัส ที่ระบุไม่ตรงกับรหัสส่วนขยาย
  • ข้อผิดพลาดทางไวยากรณ์ในไฟล์ JSON (ลืมใส่เครื่องหมายคอมมาหรือคั่นแต่ละรายการด้วยคอมมา อยู่ที่ไหนสักแห่ง)
  • จุดแรกเข้าของไฟล์ JSON ไปยังเส้นทางที่ผิดไปยัง .crx (หรือระบุเส้นทางไว้แต่ไม่มีชื่อไฟล์)
  • เครื่องหมายแบ็กสแลชในเส้นทาง UNC ไม่ได้กำหนดเป็นอักขระหลีก (ตัวอย่างเช่น "\\server\share\file" ไม่ถูกต้อง ค่านี้ควรเป็น "\\\\server\\share\\extension")
  • ปัญหาเกี่ยวกับสิทธิ์ในการแชร์ของเครือข่าย

ข้อผิดพลาดที่พบบ่อยเมื่อติดตั้งด้วยรีจิสทรีมีอะไรบ้าง

  • ไม่ได้ระบุรหัส/เวอร์ชันเดียวกันกับที่แสดงใน Chrome เว็บสโตร์
  • คีย์ที่สร้างขึ้นอยู่ในตำแหน่งที่ไม่ถูกต้องในรีจิสทรี
  • จุดแรกเข้าของรีจิสทรีไปยังเส้นทางที่ไม่ถูกต้องไปยังไฟล์ .crx ใน Chrome เว็บสโตร์
  • ปัญหาเกี่ยวกับสิทธิ์ในการแชร์ของเครือข่าย

ฉันจะอัปเดตไบนารีของเนทีฟและส่วนขยายในขั้นตอนต่างๆ ได้อย่างไร

ก่อนหน้านี้เมื่อระบบรองรับส่วนขยายนอกร้านค้า คุณอาจมีไบนารีแบบเนทีฟและ ส่วนขยายจะได้รับการอัปเดตในขั้นตอนล็อก อย่างไรก็ตาม ส่วนขยายที่โฮสต์ใน Chrome เว็บสโตร์ ผ่านกลไกการอัปเดต Chrome ซึ่งนักพัฒนาซอฟต์แวร์ไม่ได้ควบคุม นักพัฒนาส่วนขยายควร ควรระมัดระวังเกี่ยวกับการอัปเดตส่วนขยายที่ต้องอาศัยไบนารีแบบเนทีฟ (เช่น ส่วนขยายเดิมที่ใช้ NPAPI)

จะเกิดอะไรขึ้นหากผู้ใช้ถอนการติดตั้งส่วนขยาย

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

ฉันจะออกจากรายการที่บล็อกได้อย่างไร

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