ฉันได้รับข้อผิดพลาดนี้เสมอในคอนโซลของ Chrome
Uncaught Error: chrome.tabs is not supported in content scripts. See the content scripts documentation for more details.
แต่ทุกอย่างทำงานได้ดี
ใครรู้ว่าอะไรทำให้เกิดสิ่งนี้และฉันจะแก้ปัญหาได้อย่างไร
ฉันได้รับข้อผิดพลาดนี้เสมอในคอนโซลของ Chrome
Uncaught Error: chrome.tabs is not supported in content scripts. See the content scripts documentation for more details.
แต่ทุกอย่างทำงานได้ดี
ใครรู้ว่าอะไรทำให้เกิดสิ่งนี้และฉันจะแก้ปัญหาได้อย่างไร
คำตอบ:
โดยทั่วไปสาเหตุคือส่วนขยายที่ทำงานผิดปกติ ในกรณีของฉันมันคือ "MeasureIt!" ในการระบุว่าส่วนขยายใดที่ทำให้เกิดปัญหาคุณสามารถทำได้
หรือ
chrome://extensions
background.html
สำหรับทุกส่วนขยายคุณไม่สามารถใช้chrome.tabs
ในสคริปต์เนื้อหา อ้างอิงถึงเอกสาร ,
... สคริปต์เนื้อหามีข้อ จำกัด บางประการ พวกเขาไม่สามารถ:
- ใช้ chrome. * API (ยกเว้นบางส่วนของ chrome.extension)
- ใช้ตัวแปรหรือฟังก์ชั่นที่กำหนดโดยหน้าส่วนขยาย
- ใช้ตัวแปรหรือฟังก์ชั่นที่กำหนดโดยหน้าเว็บหรือสคริปต์เนื้อหาอื่น ๆ
ดังนั้นคุณสามารถใช้chrome.tabs
API ได้เฉพาะในหน้าพื้นหลังหรือหน้าส่วนขยายอื่น ๆ คุณสามารถใช้ข้อความนามสกุลผ่านchrome.tabs
ไปขอให้ใช้พื้นหลังหน้า
สิ่งนี้เกิดจากส่วนขยายโดยใช้chrome.tabs
สิทธิ์ แต่ไม่ได้ระบุว่าทำเช่นนั้นในmanifest.json
ชุดที่มีส่วนขยาย เคล็ดลับไม่เพียง แต่ค้นหาส่วนขยายที่ใช้chrome.tabs
แต่เพื่อค้นหาส่วนขยายที่ทำได้โดยไม่ต้องประกาศ
เริ่มต้นด้วยวิธีการอัตโนมัติมากขึ้น (คำสั่งหลายบรรทัดสำหรับการอ่าน): On * nix:
$ find . -type f \
> | xargs grep -l chrome.tabs \
> | cut -d '/' -f 2 \
> | uniq
บน Windows โดยใช้ PowerShell:
> gci -rec |? {-not $_.PSIsContainer} `
>> | sls 'chrome.tabs' `
>> | select -Unique Path `
>> |% {$_.Path.Split('\')[10] } `
>> | select -Unique
>>
จากนั้นไปที่chrome://extensions
แท็บเพื่อให้ตรงกับไดเรกทอรีในผลการค้นหาในชื่อนามสกุลและคลิกสิทธิ์ของแต่ละคนเพื่อดูว่าใครจะไม่ copping chrome.tabs
การใช้งานของพวกเขา โปรดทราบว่าในบรรทัดที่ 4 ของตัวอย่าง PowerShell ฉันจะจัดทำดัชนี '10' เพราะนั่นคือจำนวนองค์ประกอบของเส้นทางที่มีจากC:\
ไปยังExtensions
ไดเรกทอรี มันอาจแตกต่างกันในระบบของคุณ
ในกรณีของฉันฉันทำการค้นหาแบบอัตโนมัติโดยการตรึงส่วนอีกสองสามส่วนลงในท่อ:
$ find . type f \
> | xargs grep -l chrome.tabs \
> | cut -d '/' -f 2 \
> | uniq \
> | xargs -I % find % -name 'manifest.json' \
> | xargs grep -L tabs
hipbfijinpcgfogaopmgehiegacbhmob/16.0.544_0/manifest.json
hipbfijinpcgfogaopmgehiegacbhmob/17.1_0/manifest.json
hipbfijinpcgfogaopmgehiegacbhmob/18.1_0/manifest.json
ตอนนี้มองในchrome://extensions
:
ถูกจับ