มีรูปภาพจำนวนมากในหน้าเว็บ
เบราว์เซอร์อื่นกำลังดาวน์โหลดอย่างถูกต้อง แต่ Chrome ไม่โหลด
ในคอนโซลของผู้พัฒนาจะแสดงข้อความต่อไปนี้สำหรับแต่ละภาพ:
ไม่สามารถโหลดทรัพยากร
ปัญหานี้จะปรากฏเฉพาะใน Chrome
มันคืออะไร?
มีรูปภาพจำนวนมากในหน้าเว็บ
เบราว์เซอร์อื่นกำลังดาวน์โหลดอย่างถูกต้อง แต่ Chrome ไม่โหลด
ในคอนโซลของผู้พัฒนาจะแสดงข้อความต่อไปนี้สำหรับแต่ละภาพ:
ไม่สามารถโหลดทรัพยากร
ปัญหานี้จะปรากฏเฉพาะใน Chrome
มันคืออะไร?
คำตอบ:
ฉันพบปัญหานี้เมื่อเร็ว ๆ นี้และค้นพบว่าเกิดจากส่วนขยาย "Adblock" (ฉันเดาได้ดีที่สุดว่าเป็นเพราะฉันมีคำว่า "แบนเนอร์" และ "โฆษณา" ในชื่อไฟล์)
ในการทดสอบอย่างรวดเร็วเพื่อดูว่าเป็นปัญหาของคุณหรือไม่ให้เริ่ม Chrome ในโหมดไม่ระบุตัวตนโดยปิดการใช้งานส่วนขยาย ( ctrl+ shift+n ) และดูว่าหน้าเว็บของคุณทำงานหรือไม่ โปรดทราบว่าโดยค่าเริ่มต้นส่วนขยายทั้งหมดจะถูกปิดการใช้งานในโหมดไม่ระบุตัวตนเว้นแต่ว่าคุณได้ตั้งค่าให้เรียกใช้ (โดยเฉพาะchrome://extensions
)
ตรวจสอบแท็บเครือข่ายเพื่อดูว่า Chrome ล้มเหลวในการดาวน์โหลดไฟล์ทรัพยากรใด ๆ
ในกรณีที่มันช่วยทุกคนฉันมีปัญหาเดียวกันนี้อย่างแน่นอนและพบว่าเกิดจากส่วนขยายของ Chrome "Do Not Track Plus" (รุ่น 2.0.8) เมื่อฉันปิดการใช้งานส่วนขยายภาพที่โหลดโดยไม่มีข้อผิดพลาด
นอกจากนี้ยังมีตัวเลือกในการปิดแคชสำหรับทรัพยากรเครือข่าย สิ่งนี้อาจดีที่สุดสำหรับการพัฒนาสภาพแวดล้อม
ทางออกของ Kabir นั้นถูกต้อง URLรูปภาพของฉันคือ
/images/ads/homepage/small-banners01.png,
และนี่คือการเพิ่มขึ้นของ AdBlock นี่ไม่ใช่ปัญหาข้ามโดเมนสำหรับฉันและมันล้มเหลวทั้งบน localhost และบนเว็บ
ฉันใช้แท็บเครือข่ายของ Chrome เพื่อตรวจแก้จุดบกพร่องและค้นหาผลลัพธ์ที่สับสนมากสำหรับรูปภาพเฉพาะเหล่านี้ที่ไม่สามารถโหลดได้ คำขอแรกจะไม่ส่งคืนการตอบกลับ (สถานะ "(รอดำเนินการ)") ต่อมาในบรรทัดมีคำขอที่สองที่ระบุ URL ดั้งเดิมจากนั้น "เปลี่ยนเส้นทาง" เป็นผู้เริ่มต้น ส่วนหัวคำขอเปลี่ยนเส้นทางมีทั้งหมดสำหรับบรรทัดสั้น ๆ ที่เหมือนกันของข้อมูลที่เข้ารหัสด้วย base64 และกลับไม่มีการตอบกลับแม้ว่าสถานะจะเป็น "สำเร็จ":
GET data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg== HTTP/1.1
ต่อมาฉันสังเกตเห็นว่ารูปแบบอินไลน์เหล่านี้ถูกเพิ่มเข้ากับองค์ประกอบภาพทั้งหมด:
display: none !important;
visibility: hidden !important;
opacity: 0 !important;
ในที่สุดฉันไม่ได้รับข้อความ "ไม่สามารถโหลดทรัพยากร" ในคอนโซล แต่เป็นดังนี้:
Port error: Could not establish connection. Receiving end does not exist.
หากสิ่งเหล่านี้เกิดขึ้นกับคุณอาจเป็นเรื่องเกี่ยวกับ AdBlock ปิดและ / หรือเปลี่ยนชื่อไฟล์ภาพของคุณ
นอกจากนี้เนื่องจากCSSแบบอินไลน์ที่สร้างโดย AdBlock รูปแบบของแถบเลื่อนการโปรโมตของฉันจึงถูกปิดลง ในขณะที่ฉันสามารถแก้ไขปัญหาเลย์เอาต์ด้วย CSS ก่อนที่จะหาวิธีแก้ปัญหาของ Kabir แต่ CSS นั้นค่อนข้างไม่จำเป็นและส่งผลต่อความยืดหยุ่นของตัวเลื่อนเพื่อจัดการกับภาพหลายขนาด
ฉันเดาบทเรียนคือ: ระวังสิ่งที่คุณตั้งชื่อภาพของคุณ ภาพเหล่านี้ไม่เป็นอันตรายหรือน่ารำคาญเท่าที่แจ้งเตือนผู้เข้าชมโปรโมชันปัจจุบันและรายการพิเศษในลักษณะที่ไม่เป็นการรบกวน
หากภาพที่ถูกสร้างขึ้นผ่านทาง ASP ให้แน่ใจว่าคุณไม่ได้เรียกResponse.Write()
Response.Close();
Chrome ไม่ชอบ
ฉันได้รับข้อผิดพลาดนี้เฉพาะใน Chrome (รุ่นล่าสุด 24.0.1312.57 m) และเฉพาะในกรณีที่ภาพมีขนาดใหญ่กว่า html img ฉันใช้ php script เพื่อแสดงภาพเช่นนี้
header('Content-Length: '.strlen($data));
header("Content-type: image/{$ext}");
echo base64_decode($data);
ฉันแก้ไขมันเพิ่ม 1 ลงในความยาวของภาพ:
header('Content-Length: '.strlen($data) + 1);
header("Content-type: image/{$ext}");
echo base64_decode($data);
ปรากฏว่า Chrome ไม่ต้องการจำนวนไบต์ที่ถูกต้อง
ทดสอบกับ sucess ใน Chrome และ IE 9 หวังว่าจะช่วยได้
ข้อเท็จจริง:
มีการทำงานชั่วคราวในการแสดงReenable (ชั่วคราว) การสนับสนุน ModalDialog ใน Chrome (สำหรับ Windows) 37+37+
โดยทั่วไปให้สร้างสตริงใหม่ในรีจิสทรีที่
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\EnableDeprecatedWebPlatformFeatures
ภายใต้คีย์ EnableDeprecatedWebPlatformFeatures สร้างค่าสตริงที่มีชื่อและค่าของ1
ShowModalDialog_EffectiveUntil20150430
หากต้องการตรวจสอบว่ามีการเปิดใช้นโยบายให้ไปที่chrome://policy
URL
FYI - ฉันมีปัญหานี้เช่นกันและปรากฎว่า html ของฉันแสดงรายการไฟล์. jpg ด้วย. jpg ในตัวพิมพ์ใหญ่ แต่ตัวไฟล์เองก็เป็นตัวพิมพ์เล็ก. jpg สิ่งนั้นแสดงผลได้ดีในท้องถิ่นและใช้ Codekit แต่เมื่อมันถูกผลักไปยังเว็บมันจะไม่โหลด เพียงแค่เปลี่ยนชื่อไฟล์ให้มีนามสกุล. jpg เป็นตัวพิมพ์เล็กเพื่อให้ตรงกับ html
ใน Chrome (Canary) ฉันไม่ได้เลือกส่วนขยาย "Appspector" ที่ล้างข้อผิดพลาด
ฉันอัปเดตเบราว์เซอร์ Chrome เป็นเวอร์ชันล่าสุดและแก้ไขปัญหาแล้ว
มันเกิดจาก ad-blocker เมื่อชื่อไฟล์โครงการมีคำเช่น 'ad' ตัวบล็อคโฆษณาก็จะบล็อกไฟล์เหล่านี้เพื่อโหลด
ทางออกที่ดีที่สุดคืออย่าบันทึกไฟล์ใด ๆ ด้วยปุ่มชื่อเหล่านี้