refresh date: 2026-09-25 robots: noindex
คำอธิบาย
ใช้ chrome.contentSettings API เพื่อเปลี่ยนการตั้งค่าที่ควบคุมว่าเว็บไซต์จะใช้ฟีเจอร์ต่างๆ เช่น คุกกี้, JavaScript และปลั๊กอินได้หรือไม่ โดยทั่วไปแล้ว การตั้งค่าเนื้อหาช่วยให้คุณปรับแต่งลักษณะการทำงานของ Chrome ในแต่ละเว็บไซต์แทนที่จะเป็นแบบทั่วโลก
สิทธิ์
contentSettingsไฟล์ Manifest
คุณต้องประกาศสิทธิ์ "contentSettings" ในไฟล์ Manifest ของส่วนขยายเพื่อใช้ API เช่น
{
"name": "My extension",
...
"permissions": [
"contentSettings"
],
...
}
รูปแบบการตั้งค่าเนื้อหา
คุณสามารถใช้รูปแบบเพื่อระบุเว็บไซต์ที่การตั้งค่าเนื้อหาแต่ละรายการมีผล เช่น https://*.youtube.com/* ระบุ youtube.com และโดเมนย่อยทั้งหมด ไวยากรณ์สำหรับรูปแบบการตั้งค่าเนื้อหาจะเหมือนกับรูปแบบการจับคู่ โดยมีความแตกต่างเล็กน้อยดังนี้
- สำหรับ URL ของ
http,httpsและftpเส้นทางต้องเป็นไวลด์การ์ด (/*) สำหรับ URL ของfileเส้นทางต้องระบุไว้อย่างสมบูรณ์และต้องไม่มีไวลด์การ์ด - รูปแบบการตั้งค่าเนื้อหาจะระบุหมายเลขพอร์ตได้ ซึ่งต่างจากรูปแบบการจับคู่ หากระบุหมายเลขพอร์ต รูปแบบจะจับคู่กับเว็บไซต์ที่มีพอร์ตนั้นเท่านั้น หากไม่ได้ระบุหมายเลขพอร์ต รูปแบบจะจับคู่กับพอร์ตทั้งหมด
ลำดับความสำคัญของรูปแบบ
เมื่อมีกฎการตั้งค่าเนื้อหามากกว่า 1 ข้อที่ใช้กับเว็บไซต์หนึ่งๆ กฎที่มีรูปแบบที่เจาะจงกว่าจะมีลำดับความสำคัญสูงกว่า
ตัวอย่างเช่น รูปแบบต่อไปนี้จะเรียงตามลำดับความสำคัญ
https://www.example.com/*https://*.example.com/*(จับคู่ example.com และโดเมนย่อยทั้งหมด)<all_urls>(ตรงกับทุก URL)
ไวลด์การ์ด 3 ประเภทมีผลต่อความเฉพาะเจาะจงของรูปแบบ ดังนี้
- ไวลด์การ์ดในพอร์ต (เช่น
https://www.example.com:*/*) - ไวลด์การ์ดในรูปแบบ (เช่น
*://www.example.com:123/*) - ไวลด์การ์ดในชื่อโฮสต์ (เช่น
https://*.example.com:123/*)
หากรูปแบบหนึ่งมีความเฉพาะเจาะจงมากกว่าอีกรูปแบบหนึ่งในส่วนหนึ่ง แต่มีความเฉพาะเจาะจงน้อยกว่าในอีกส่วนหนึ่ง ระบบจะตรวจสอบส่วนที่แตกต่างกันตามลำดับต่อไปนี้ ชื่อโฮสต์ รูปแบบ พอร์ต ตัวอย่างเช่น รูปแบบต่อไปนี้จะเรียงตามลำดับความสำคัญ
https://www.example.com:*/*ระบุชื่อโฮสต์และรูปแบบ*:/www.example.com:123/*ไม่สูงเท่า เนื่องจากแม้ว่าจะระบุชื่อโฮสต์ แต่ก็ไม่ได้ระบุรูปแบบhttps://*.example.com:123/*ต่ำกว่า เนื่องจากแม้ว่าจะระบุพอร์ตและรูปแบบ แต่ก็มีไวลด์การ์ดในชื่อโฮสต์
รูปแบบหลักและรอง
URL ที่นำมาพิจารณาเมื่อตัดสินใจว่าจะใช้การตั้งค่าเนื้อหาใดจะขึ้นอยู่กับประเภทเนื้อหา
ตัวอย่างเช่น การตั้งค่าสำหรับ contentSettings.notifications จะอิงตาม URL ที่แสดงในแถบอเนกประสงค์ เราเรียก URL นี้ว่า URL "หลัก"
เนื้อหาบางประเภทอาจพิจารณา URL เพิ่มเติม ตัวอย่างเช่น การอนุญาตให้เว็บไซต์ตั้งค่า contentSettings.cookies จะพิจารณาจาก URL ของคำขอ HTTP (ซึ่งเป็น URL หลักในกรณีนี้) รวมถึง URL ที่แสดงในแถบอเนกประสงค์ (ซึ่งเรียกว่า URL "รอง")
หากกฎหลายข้อมีรูปแบบหลักและรอง กฎที่มีรูปแบบหลักที่เจาะจงกว่าจะมีลำดับความสำคัญสูงกว่า หากกฎหลายข้อมีรูปแบบหลักเหมือนกัน กฎที่มีรูปแบบรองที่เจาะจงมากกว่าจะมีลำดับความสำคัญสูงกว่า ตัวอย่างเช่น รายการคู่รูปแบบหลัก/รองต่อไปนี้จะเรียงตามลำดับความสำคัญ
| ลำดับความสำคัญ | รูปแบบหลัก | รูปแบบรอง |
|---|---|---|
| 1 | https://www.moose.com/* | https://www.wombat.com/* |
| 2 | https://www.moose.com/* | <all_urls> |
| 3 | <all_urls> | https://www.wombat.com/* |
| 4 | <all_urls> | <all_urls> |
ตัวระบุทรัพยากร
ตัวระบุทรัพยากรช่วยให้คุณระบุการตั้งค่าเนื้อหาสำหรับประเภทย่อยที่เฉพาะเจาะจงของประเภทเนื้อหาได้
ปัจจุบันเนื้อหาประเภทเดียวที่รองรับตัวระบุทรัพยากรคือ contentSettings.plugins ซึ่งตัวระบุทรัพยากรจะระบุปลั๊กอินที่เฉพาะเจาะจง เมื่อใช้การตั้งค่าเนื้อหา ระบบจะตรวจสอบการตั้งค่าสำหรับปลั๊กอินที่เฉพาะเจาะจงก่อน หากไม่พบการตั้งค่าสำหรับปลั๊กอินที่เฉพาะเจาะจง ระบบจะตรวจสอบการตั้งค่าเนื้อหาทั่วไปสำหรับปลั๊กอิน
ตัวอย่างเช่น หากกฎการตั้งค่าเนื้อหามีตัวระบุทรัพยากร adobe-flash-player และรูปแบบ <all_urls> กฎดังกล่าวจะมีลำดับความสำคัญสูงกว่ากฎที่ไม่มีตัวระบุทรัพยากรและรูปแบบ https://www.example.com/* แม้ว่ารูปแบบนั้นจะเจาะจงมากกว่าก็ตาม
คุณดูรายการตัวระบุทรัพยากรสำหรับประเภทเนื้อหาได้โดยเรียกใช้เมธอด contentSettings.ContentSetting.getResourceIdentifiers รายการที่แสดงผลอาจเปลี่ยนแปลงตามชุดปลั๊กอินที่ติดตั้งในเครื่องของผู้ใช้ แต่ Chrome จะพยายามรักษาตัวระบุให้คงที่ตลอดการอัปเดตปลั๊กอิน
ตัวอย่าง
หากต้องการลองใช้ API นี้ ให้ติดตั้งตัวอย่าง contentSettings API จากที่เก็บ chrome-extension-samples
ประเภท
AutoVerifyContentSetting
ค่าแจกแจง
"allow"
"block"
CameraContentSetting
ค่าแจกแจง
"allow"
"block"
"ask"
ClipboardContentSetting
ค่าแจกแจง
"allow"
"block"
"ask"
ContentSetting
พร็อพเพอร์ตี้
-
ล้าง
void
Promiseล้างกฎการตั้งค่าเนื้อหาทั้งหมดที่ตั้งค่าโดยส่วนขยายนี้
ฟังก์ชัน
clearจะมีลักษณะดังนี้(details: object, callback?: function) => {...}
-
รายละเอียด
ออบเจ็กต์
-
ขอบเขต
ขอบเขต ไม่บังคับ
ตำแหน่งที่จะล้างการตั้งค่า (ค่าเริ่มต้น: ปกติ)
-
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้() => void
-
returns
Promise<void>
Chrome 96 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
-
-
รับ
void
Promiseรับการตั้งค่าเนื้อหาปัจจุบันสำหรับคู่ URL ที่ระบุ
ฟังก์ชัน
getจะมีลักษณะดังนี้(details: object, callback?: function) => {...}
-
รายละเอียด
ออบเจ็กต์
-
ไม่ระบุตัวตน
บูลีน ไม่บังคับ
ระบุว่าจะตรวจสอบการตั้งค่าเนื้อหาสำหรับเซสชันไม่ระบุตัวตนหรือไม่ (ค่าเริ่มต้นคือ false)
-
primaryUrl
สตริง
URL หลักที่ควรดึงข้อมูลการตั้งค่าเนื้อหา โปรดทราบว่าความหมายของ URL หลักจะขึ้นอยู่กับประเภทเนื้อหา
-
resourceIdentifier
ResourceIdentifier ไม่บังคับ
ตัวระบุที่เจาะจงมากขึ้นของประเภทเนื้อหาที่ควรดึงข้อมูลการตั้งค่า
-
secondaryUrl
สตริง ไม่บังคับ
URL รองที่ควรดึงข้อมูลการตั้งค่าเนื้อหา ค่าเริ่มต้นคือ URL หลัก โปรดทราบว่าความหมายของ URL รองจะขึ้นอยู่กับประเภทเนื้อหา และเนื้อหาบางประเภทไม่ได้ใช้ URL รอง
-
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้(details: object) => void
-
รายละเอียด
ออบเจ็กต์
-
การตั้งค่า
T
การตั้งค่าเนื้อหา ดูคำอธิบายของออบเจ็กต์ ContentSetting แต่ละรายการสำหรับค่าที่เป็นไปได้
-
-
-
returns
Promise<object>
Chrome 96 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
-
-
getResourceIdentifiers
void
Promiseฟังก์ชัน
getResourceIdentifiersจะมีลักษณะดังนี้(callback?: function) => {...}
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้(resourceIdentifiers?: ResourceIdentifier[]) => void
-
resourceIdentifiers
ResourceIdentifier[] ไม่บังคับ
รายการตัวระบุทรัพยากรสำหรับเนื้อหาประเภทนี้ หรือ
undefinedหากเนื้อหาประเภทนี้ไม่ได้ใช้ตัวระบุทรัพยากร
-
-
returns
Promise<ResourceIdentifier[]>
Chrome 96 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
-
-
ตั้งค่า
void
Promiseใช้กฎการตั้งค่าเนื้อหาใหม่
ฟังก์ชัน
setจะมีลักษณะดังนี้(details: object, callback?: function) => {...}
-
รายละเอียด
ออบเจ็กต์
-
primaryPattern
สตริง
รูปแบบของ URL หลัก โปรดดูรายละเอียดเกี่ยวกับรูปแบบของแพทเทิร์นที่หัวข้อแพทเทิร์นการตั้งค่าเนื้อหา
-
resourceIdentifier
ResourceIdentifier ไม่บังคับ
ตัวระบุทรัพยากรสำหรับประเภทเนื้อหา
-
ขอบเขต
ขอบเขต ไม่บังคับ
ตำแหน่งที่จะตั้งค่า (ค่าเริ่มต้น: ปกติ)
-
secondaryPattern
สตริง ไม่บังคับ
รูปแบบของ URL รอง ค่าเริ่มต้นคือการจับคู่ URL ทั้งหมด โปรดดูรายละเอียดเกี่ยวกับรูปแบบของแพทเทิร์นที่หัวข้อแพทเทิร์นการตั้งค่าเนื้อหา
-
การตั้งค่า
ใดๆ
การตั้งค่าที่ใช้โดยกฎนี้ ดูคำอธิบายของออบเจ็กต์ ContentSetting แต่ละรายการสำหรับค่าที่เป็นไปได้
-
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้() => void
-
returns
Promise<void>
Chrome 96 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
-
CookiesContentSetting
ค่าแจกแจง
"allow"
"block"
"session_only"
FullscreenContentSetting
ค่า
"allow"
ImagesContentSetting
ค่าแจกแจง
"allow"
"block"
JavascriptContentSetting
ค่าแจกแจง
"allow"
"block"
LocationContentSetting
ค่าแจกแจง
"allow"
"block"
"ask"
MicrophoneContentSetting
ค่าแจกแจง
"allow"
"block"
"ask"
MouselockContentSetting
ค่า
"allow"
MultipleAutomaticDownloadsContentSetting
ค่าแจกแจง
"allow"
"block"
"ask"
NotificationsContentSetting
ค่าแจกแจง
"allow"
"block"
"ask"
PluginsContentSetting
ค่า
"block"
PopupsContentSetting
ค่าแจกแจง
"allow"
"block"
PpapiBrokerContentSetting
ค่า
"block"
ResourceIdentifier
ประเภทเนื้อหาเดียวที่ใช้ตัวระบุทรัพยากรคือ contentSettings.plugins ดูข้อมูลเพิ่มเติมได้ที่ตัวระบุทรัพยากร
พร็อพเพอร์ตี้
-
คำอธิบาย
สตริง ไม่บังคับ
คำอธิบายทรัพยากรที่มนุษย์อ่านได้
-
id
สตริง
ตัวระบุทรัพยากรสำหรับประเภทเนื้อหาที่ระบุ
Scope
ขอบเขตของ ContentSetting ค่าใดค่าหนึ่งต่อไปนี้
regular: การตั้งค่าสำหรับโปรไฟล์ปกติ (ซึ่งโปรไฟล์ที่ไม่ระบุตัวตนจะรับค่ามาหากไม่มีการลบล้างที่อื่น)
incognito\_session\_only: การตั้งค่าสำหรับโปรไฟล์ที่ไม่ระบุตัวตนซึ่งตั้งค่าได้เฉพาะในระหว่างเซสชันไม่ระบุตัวตน และจะถูกลบเมื่อเซสชันไม่ระบุตัวตนสิ้นสุดลง (ลบล้างการตั้งค่าปกติ)
ค่าแจกแจง
"regular"
"incognito_session_only"
SoundContentSetting
ค่าแจกแจง
"allow"
"block"
พร็อพเพอร์ตี้
automaticDownloads
อนุญาตให้เว็บไซต์ดาวน์โหลดไฟล์หลายไฟล์โดยอัตโนมัติหรือไม่ ค่าใดค่าหนึ่งต่อไปนี้
allow: อนุญาตให้เว็บไซต์ดาวน์โหลดหลายไฟล์โดยอัตโนมัติ
block: ไม่อนุญาตให้เว็บไซต์ดาวน์โหลดหลายไฟล์โดยอัตโนมัติ
ask: ถามเมื่อเว็บไซต์ต้องการดาวน์โหลดไฟล์โดยอัตโนมัติหลังจากไฟล์แรก
ค่าเริ่มต้นคือ ask
URL หลักคือ URL ของเฟรมระดับบนสุด ระบบจะไม่ใช้ URL สำรอง
autoVerify
อนุญาตให้เว็บไซต์ใช้ Private State Tokens API หรือไม่ ค่าใดค่าหนึ่งต่อไปนี้
allow: อนุญาตให้เว็บไซต์ใช้ Private State Tokens API
block: บล็อกเว็บไซต์ไม่ให้ใช้ Private State Tokens API
ค่าเริ่มต้นคือ allow
เมื่อเรียกใช้ set() รูปแบบ URL หลักต้องเป็น <all_urls> ระบบจะไม่ใช้ URL สำรอง
camera
อนุญาตให้เว็บไซต์เข้าถึงกล้องหรือไม่ ค่าใดค่าหนึ่งต่อไปนี้
allow: อนุญาตให้เว็บไซต์เข้าถึงกล้อง
block: ไม่อนุญาตให้เว็บไซต์เข้าถึงกล้อง
ask: ถามเมื่อเว็บไซต์ต้องการเข้าถึงกล้อง
ค่าเริ่มต้นคือ ask
URL หลักคือ URL ของเอกสารที่ขอสิทธิ์เข้าถึงกล้อง ระบบจะไม่ใช้ URL สำรอง
หมายเหตุ: การตั้งค่า "อนุญาต" จะใช้ไม่ได้หากทั้ง 2 รูปแบบเป็น "<all_urls>"
ประเภท
clipboard
อนุญาตให้เว็บไซต์เข้าถึงคลิปบอร์ดผ่านความสามารถขั้นสูงของ Async Clipboard API หรือไม่ ความสามารถ "ขั้นสูง" รวมถึงสิ่งอื่นๆ นอกเหนือจากการเขียนรูปแบบในตัวหลังจากท่าทางผู้ใช้ เช่น ความสามารถในการอ่าน ความสามารถในการเขียนรูปแบบที่กำหนดเอง และความสามารถในการเขียนโดยไม่มีท่าทางผู้ใช้ ค่าใดค่าหนึ่งต่อไปนี้
allow: อนุญาตให้เว็บไซต์ใช้ความสามารถขั้นสูงของคลิปบอร์ด
block: ไม่อนุญาตให้เว็บไซต์ใช้ความสามารถขั้นสูงของคลิปบอร์ด
ask: ถามเมื่อเว็บไซต์ต้องการใช้ความสามารถขั้นสูงของคลิปบอร์ด
ค่าเริ่มต้นคือ ask
URL หลักคือ URL ของเอกสารที่ขอสิทธิ์เข้าถึงคลิปบอร์ด ระบบจะไม่ใช้ URL สำรอง
cookies
กำหนดว่าจะอนุญาตให้เว็บไซต์ตั้งค่าคุกกี้และข้อมูลอื่นๆ ในเครื่องหรือไม่ ค่าใดค่าหนึ่งต่อไปนี้
allow: ยอมรับคุกกี้
block: บล็อกคุกกี้
session\_only: ยอมรับคุกกี้สำหรับเซสชันปัจจุบันเท่านั้น
ค่าเริ่มต้นคือ allow
URL หลักคือ URL ที่แสดงต้นทางของคุกกี้ URL รองคือ URL ของเฟรมระดับบนสุด
ประเภท
fullscreen
เลิกใช้งานแล้ว ไม่มีผลอีกต่อไป ตอนนี้ระบบจะให้สิทธิ์โหมดเต็มหน้าจอสำหรับทุกเว็บไซต์โดยอัตโนมัติ ค่าจะเป็น allow เสมอ
images
จะแสดงรูปภาพหรือไม่ ค่าใดค่าหนึ่งต่อไปนี้
allow: แสดงรูปภาพ
block: ไม่แสดงรูปภาพ
ค่าเริ่มต้นคือ allow
URL หลักคือ URL ของเฟรมระดับบนสุด URL รองคือ URL ของรูปภาพ
ประเภท
javascript
เลือกว่าจะเรียกใช้ JavaScript หรือไม่ ค่าใดค่าหนึ่งต่อไปนี้
allow: เรียกใช้ JavaScript
block: ไม่เรียกใช้ JavaScript
ค่าเริ่มต้นคือ allow
URL หลักคือ URL ของเฟรมระดับบนสุด ระบบจะไม่ใช้ URL สำรอง
location
อนุญาตให้ใช้ตำแหน่งทางภูมิศาสตร์หรือไม่ ค่าใดค่าหนึ่งต่อไปนี้
allow: อนุญาตให้เว็บไซต์ติดตามตำแหน่งทางกายภาพของคุณ
block: ไม่อนุญาตให้เว็บไซต์ติดตามตำแหน่งทางกายภาพของคุณ
ask: ถามก่อนอนุญาตให้เว็บไซต์ติดตามตำแหน่งทางกายภาพของคุณ
ค่าเริ่มต้นคือ ask
URL หลักคือ URL ของเอกสารที่ขอข้อมูลตำแหน่ง URL รองคือ URL ของเฟรมระดับบนสุด (ซึ่งอาจแตกต่างหรือไม่แตกต่างจาก URL ที่ส่งคำขอ)
ประเภท
microphone
อนุญาตให้เว็บไซต์เข้าถึงไมโครโฟนหรือไม่ ค่าใดค่าหนึ่งต่อไปนี้
allow: อนุญาตให้เว็บไซต์เข้าถึงไมโครโฟน
block: ไม่อนุญาตให้เว็บไซต์เข้าถึงไมโครโฟน
ask: ถามเมื่อเว็บไซต์ต้องการเข้าถึงไมโครโฟน
ค่าเริ่มต้นคือ ask
URL หลักคือ URL ของเอกสารที่ขอสิทธิ์เข้าถึงไมโครโฟน ระบบจะไม่ใช้ URL สำรอง
หมายเหตุ: การตั้งค่า "อนุญาต" จะใช้ไม่ได้หากทั้ง 2 รูปแบบเป็น "<all_urls>"
mouselock
เลิกใช้งานแล้ว ไม่มีผลอีกต่อไป ตอนนี้ระบบจะให้สิทธิ์การล็อกเมาส์สำหรับทุกเว็บไซต์โดยอัตโนมัติ ค่าจะเป็น allow เสมอ
notifications
อนุญาตให้เว็บไซต์แสดงการแจ้งเตือนในเดสก์ท็อปหรือไม่ ค่าใดค่าหนึ่งต่อไปนี้
allow: อนุญาตให้เว็บไซต์แสดงการแจ้งเตือนในเดสก์ท็อป
block: ไม่อนุญาตให้เว็บไซต์แสดงการแจ้งเตือนในเดสก์ท็อป
ask: ถามเมื่อเว็บไซต์ต้องการแสดงการแจ้งเตือนในเดสก์ท็อป
ค่าเริ่มต้นคือ ask
URL หลักคือ URL ของเอกสารที่ต้องการแสดงการแจ้งเตือน ระบบจะไม่ใช้ URL สำรอง
plugins
เลิกใช้งานแล้ว เมื่อนำการรองรับ Flash ออกใน Chrome 88 สิทธิ์นี้จะไม่มีผลอีกต่อไป ค่าจะเป็น block เสมอ ระบบจะไม่สนใจการเรียกใช้ set() และ clear()
ประเภท
popups
อนุญาตให้เว็บไซต์แสดงป๊อปอัปหรือไม่ ค่าใดค่าหนึ่งต่อไปนี้
allow: อนุญาตให้เว็บไซต์แสดงป๊อปอัป
block: ไม่อนุญาตให้เว็บไซต์แสดงป๊อปอัป
ค่าเริ่มต้นคือ block
URL หลักคือ URL ของเฟรมระดับบนสุด ระบบจะไม่ใช้ URL สำรอง
ประเภท
unsandboxedPlugins
เลิกใช้งานแล้ว ก่อนหน้านี้ นโยบายนี้ควบคุมว่าจะอนุญาตให้เว็บไซต์เรียกใช้ปลั๊กอินที่ไม่ได้อยู่ในแซนด์บ็อกซ์หรือไม่ แต่เมื่อนำกระบวนการ Flash Broker ออกใน Chrome 88 สิทธิ์นี้จึงไม่มีผลอีกต่อไป ค่าจะเป็น block เสมอ ระบบจะไม่สนใจการเรียกใช้ set() และ clear()