ค้นหาเว็บไซต์

javascript - ข้อผิดพลาดของผู้ส่ง Google Chromecast หากไม่ได้ติดตั้งส่วนขยาย Chromecast หรือใช้โหมดไม่ระบุตัวตน


ฉันกำลังพบข้อผิดพลาดในการใช้งานผู้ส่ง Chromecast ในโหมดไม่ระบุตัวตนของ Chrome หรือหากไม่ได้ติดตั้งส่วนขยาย Chromecast:

Failed to load resource: net::ERR_ADDRESS_UNREACHABLE chrome-extension://boadgeojelhgndaghljhdicfkmllpafd/cast_sender.js
Failed to load resource: net::ERR_ADDRESS_UNREACHABLE chrome-extension://dliochdbjfkdbacpmhlcpmleaejidimm/cast_sender.js
Failed to load resource: net::ERR_ADDRESS_UNREACHABLE chrome-extension://hfaagokkkhdbgiakmmlclaapfelnkoah/cast_sender.js
Failed to load resource: net::ERR_ADDRESS_UNREACHABLE chrome-extension://fmfcbgogabcbclcofgocippekhfcmgfj/cast_sender.js
Failed to load resource: net::ERR_ADDRESS_UNREACHABLE chrome-extension://enhhojjnijigcajfphajepfemndkmdlo/cast_sender.js
No cast extension found

ตัวส่ง Google cast กำลังพยายามส่งคำขอ AJAX สำหรับ "cast_sender.js" ท้องถิ่น นี่ควรเกิดขึ้นหรือมีวิธีที่ดีกว่าในการตรวจสอบว่ามีส่วนขยายตัวส่ง Chromecast อยู่หรือไม่ (ไม่ใช่โดยการส่งคำขอ AJAX)?

ฉันเชื่อว่าการร้องขอ AJAX เหล่านี้เป็นวิธีการถามว่ามีส่วนขยาย Chromecast อยู่หรือไม่ มีวิธีที่ดีกว่าในการตรวจสอบว่ามีส่วนขยาย Chromecast อยู่หรือไม่ไหม?

คำตอบ #1

อัปเดต: หลังจากหลายความพยายาม ดูเหมือนว่านี่อาจได้รับการแก้ไขในเวอร์ชัน Chrome ล่าสุด (ตามความคิดเห็นของ Paul Irish ด้านล่าง) นั่นบ่งชี้ว่าเราน่าจะเห็นการแก้ไขนี้ในเวอร์ชันเสถียรของ Chrome ในเดือนมิถุนายน-กรกฎาคม 2016 มาติดตามกัน...

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

ทีม Chromecast ได้ระบุว่าพวกเขาจะไม่แก้ไขข้อบกพร่องนี้

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

หากคุณเป็นผู้ใช้ที่รำคาญกับข้อความคอนโซลเหล่านี้ คุณสามารถเปลี่ยนไปใช้ Chrome หากยังไม่ได้ใช้ ภายใน Chrome ให้ทำอย่างใดอย่างหนึ่ง:

  • ติดตั้งส่วนเสริม Chromecast จากที่นี่
  • กำหนดค่า devtools ให้ซ่อนข้อความแสดงข้อผิดพลาด (ดูคำตอบของ David ด้านล่าง)

อัปเดต [13 พ.ย. 2014]: ปัญหาได้รับการยอมรับโดย Google แล้ว สมาชิกคนหนึ่งของทีม Chromecast ดูเหมือนจะแนะนำว่าปัญหานี้จะถูกเลี่ยงโดยการเปลี่ยนแปลงที่ทีมกำลังดำเนินการอยู่

อัปเดต 2 [17 กุมภาพันธ์ 2015]: ทีมงานกล่าวว่าไม่มีอะไรที่พวกเขาสามารถทำได้เพื่อเอาบันทึกข้อผิดพลาดออกเพราะมันเป็นข้อผิดพลาดเครือข่ายมาตรฐานของ Chrome และพวกเขากำลังทำงานเกี่ยวกับการแก้ไขระยะยาว ความคิดเห็นสาธารณะในตัวติดตามข้อบกพร่องถูกปิดด้วยอัปเดตนั้น

อัปเดต 3 [4 ธ.ค. 2015]: ปัญหานี้ได้รับการแก้ไขแล้วในที่สุด! ในที่สุด ทีมงานของ Chrome ก็เพิ่มโค้ดบางส่วนเพื่อป้องกันข้อผิดพลาดเฉพาะนี้ หวังว่าในอนาคต การรวมกันของ devtools และ extensions API จะได้รับการปรับปรุงเพื่อทำให้สามารถแก้ไขปัญหาแบบนี้ได้โดยไม่ต้องแพตช์เบราว์เซอร์ Chrome Canary มีการแพตช์แล้ว ดังนั้นน่าจะปล่อยให้ผู้ใช้ทุกคนประมาณกลางเดือนมกราคม นอกจากนี้ ทีมงานยังได้ยืนยันว่าปัญหานี้ไม่ส่งผลต่อเบราว์เซอร์อื่น ๆ เพราะ SDK ได้รับการอัปเดตให้ทำงานเฉพาะเมื่ออยู่ใน Chrome

อัปเดต 4 (30 เมษายน): ไม่ ยังไม่ได้ตอนนี้ โชคดีที่ทีมความสัมพันธ์นักพัฒนาของ Google ตระหนักมากกว่าผู้มีส่วนได้ส่วนเสียบางรายว่าเรื่องนี้ส่งผลกระทบต่อประสบการณ์นักพัฒนาอย่างรุนแรงเพียงใด มีการอัปเดตรายการขาวเพิ่มเติมเมื่อเร็ว ๆ นี้เพื่อกำจัดข้อความบันทึกเหล่านี้ สถานะปัจจุบันอยู่ที่ด้านบนของโพสต์

คำตอบ #2

ถ้าคุณต้องการกำจัดข้อผิดพลาดในคอนโซลเหล่านี้ชั่วคราว (เหมือนที่ผมทำ) คุณสามารถติดตั้งส่วนขยายได้ที่นี่: https://chrome.google.com/webstore/detail/google-cast/boadgeojelhgndaghljhdicfkmllpafd/reviews?hl=en

ฉันทิ้งรีวิวเพื่อขอให้แก้ไขคุณสามารถรายงานบั๊กผ่านส่วนขยาย (หลังจากที่คุณติดตั้งแล้ว) ได้ที่นี่ คำแนะนำในการทำสามารถดูได้ที่นี่: https://support.google.com/chromecast/answer/3187017?hl=en

ฉันหวังว่า Google จะจัดการเรื่องนี้ ฉันต้องการให้คอนโซลของฉันแสดงข้อผิดพลาดของฉัน ฯลฯ ไม่ใช่ของพวกเขา

คำตอบ #3

แล้วการกรองข้อผิดพลาดเหล่านี้ล่ะ ?

ด้วยตัวกรอง regex ด้านล่าง เราสามารถละเว้นข้อผิดพลาด cast_sender.js ได้:

^((?!cast_sender).)*$

อย่าลืมติ๊กช่อง Regex

อีกหนึ่งวิธีแก้ปัญหาอย่างรวดเร็วคือการ "ซ่อนข้อความเครือข่าย"

บทความที่เกี่ยวข้อง