นี่คือทางแยกของ Image Downloader โดย Vlad Sabev (vdsabev) ส่วนขยายดั้งเดิมไม่ได้รับการอัปเดตและโปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อเติมเต็มช่องว่าง เป้าหมายคือการแก้ไขข้อบกพร่อง สนับสนุนเว็บไซต์มากขึ้น (มากที่สุดเท่าที่เป็นไปได้) เพิ่มคุณสมบัติและการปรับปรุงใหม่ๆ ยินดีรับข้อเสนอแนะ - โปรดแจ้งปัญหาบน GitHub! IDC ไม่มีขาย และจะให้บริการฟรี เป็นโอเพ่นซอร์ส และไม่มีโฆษณาหรืออัลกอริธึมการติดตามใดๆ ทั้งสิ้น! คุณสามารถค้นหาซอร์สโค้ดได้ที่นี่: https://github.com/kisdma/image-downloader-cnt
หากคุณต้องการดาวน์โหลดภาพจำนวนมากจากหน้าเว็บ ด้วยส่วนขยายนี้ คุณสามารถ:
ดูภาพที่หน้านั้นมีและลิงก์ไป
กรองตามความกว้าง ความสูง และ URL รองรับไวด์การ์ดและ regex
เลือกภาพที่จะดาวน์โหลดโดยคลิกที่ภาพ
ใช้ปุ่มเฉพาะเพื่อดาวน์โหลดหรือเปิดภาพแต่ละภาพในแท็บใหม่
ปรับแต่งความกว้างการแสดงรูปภาพ คอลัมน์ ขนาดเส้นขอบ และสี
ซ่อนตัวกรอง ปุ่ม และการแจ้งเตือนที่คุณไม่ต้องการ
เมื่อคุณกดปุ่ม "ดาวน์โหลด" รูปภาพที่เลือกทั้งหมดจะถูกบันทึกลงในไดเร็กทอรีดาวน์โหลดเริ่มต้นของ Chrome หรือไปยังไดเร็กทอรีที่อยู่ภายในหากคุณระบุชื่อโฟลเดอร์ย่อย
คำเตือน: หากคุณไม่ได้ตั้งค่าไดเรกทอรีดาวน์โหลดเริ่มต้น คุณจะต้องเลือกตำแหน่งบันทึกสำหรับแต่ละภาพด้วยตนเอง ซึ่งอาจเปิดหน้าต่างป๊อปอัปจำนวนมาก ไม่แนะนำให้พยายามดาวน์โหลดภาพหลายภาพพร้อมกันมากเกินไปโดยไม่มีไดเร็กทอรีดาวน์โหลดเริ่มต้น
2.9
แก้ไขข้อบกพร่องในการกู้คืน URL แบบสัมพันธ์
เพิ่มการค้นพบภาพที่มีความละเอียดสูงขึ้นสำหรับ cloudfront.net
กู้คืนการแยกวิเคราะห์ของ 'link rel="mask-icon"' (ปิดใช้งานก่อนหน้านี้) 2.8:
ปรับปรุงการค้นหาและรวบรวมรูปภาพ แก้ไขข้อผิดพลาดมากมาย
เพิ่มสคริปต์การแทรกเพื่อป้องกันไม่ให้เพจปิด shadowDOM (ซึ่งทำให้รูปภาพภายในไม่สามารถค้นพบได้) หมายเหตุ: เว็บไซต์ใช้สิ่งนี้เพื่อหลีกเลี่ยง adblockers
เพิ่มการค้นพบภาพใน shadowDOM
เพิ่มการแทรกสไตล์ CSS เพื่อป้องกันการบล็อกโฆษณาของภาพที่เพิ่มโดย IDC (มีผลเฉพาะองค์ประกอบที่มีคลาส 'idc-image')
เพิ่มผู้ฟังเพื่อติดตามการเปลี่ยนแปลง DOM และค้นหารูปภาพที่ไม่ต่อเนื่อง เช่น webp (รูปภาพที่คล้าย GIF ที่เคลื่อนไหว) จาก YouTube หรือรูปภาพที่เพิ่ม/ลบอย่างต่อเนื่อง เช่น ในการเลื่อนบน Instagram
เพิ่มการบันทึกรายการรูปภาพที่ค้นพบลงในอาเรย์แบบอนุกรมในแท็กที่ซ่อนอยู่บนเพจ (จะหายไปเมื่อมีการอัพเดตเพจ)
แก้ไขข้อบกพร่องในจำนวนการดาวน์โหลดที่ส่ง (คือ +1)
ปรับปรุง regexp เพื่อการค้นพบภาพที่ดีขึ้นในแท็ก 'สไตล์' (ขาดข้อมูลบางส่วน: URL รูปภาพ)
ทำความสะอาดและย้ายไปยังฟังก์ชันโค้ดที่จะตรวจสอบและแปล (หากจำเป็น) URL ที่เกี่ยวข้องเป็นแบบสัมบูรณ์ ใช้ฟังก์ชันนี้กับแท็กที่ไม่มีการตรวจสอบนี้
ปรับปรุงผู้สังเกตการณ์เพื่อให้สามารถค้นพบภาพเพิ่มเติมจากองค์ประกอบชั่วคราวเช่นป๊อปอัป (ขยายรายการตัวกรองแอตทริบิวต์)
ปรับปรุงการค้นพบรูปภาพในแท็ก 'svg' - หากมีแท็กรูปภาพ ให้ส่งคืนรูปภาพจากแท็กเหล่านั้น แทนที่จะสร้าง base64 svg
ลบ encodeURI() ออกจากโค้ดที่เติมและเข้าถึงแคชรูปภาพ ไม่แน่ใจว่ามีวัตถุประสงค์อะไร เนื่องจากลิงก์ขาเข้าถูกแยกออกจากแท็กซึ่งควรจะเข้ารหัสไว้แล้ว นี่เป็นการทำลายลิงก์ที่เข้ารหัสแล้วและมีอักขระพิเศษหลบหนี (ค้นพบสิ่งนี้ในวิกิพีเดีย - ลิงก์ที่มีวงเล็บ)
แก้ไขข้อผิดพลาดในการแยกวิเคราะห์แท็ก 'แหล่งที่มา' - เพิ่มการรองรับรายการที่มีความละเอียดต่างกันใน 'srcset' (1x, 2x ฯลฯ)
แก้ไขข้อบกพร่อง: เพิ่มรูปภาพ YouTube ซ้ำใน popup.js
แก้ไขข้อบกพร่อง: มีการสร้าง URL ที่ไม่ถูกต้องเมื่อ URL พื้นฐานลงท้ายด้วยแบ็กสแลช
แก้ไขข้อผิดพลาดในการแยกวิเคราะห์แท็ก img
แก้ไขข้อบกพร่องใน RelativeUrlToAbsolute - ส่งคืน "ไม่ได้กำหนด" หากอินพุตว่างเปล่า
เพิ่มการค้นพบลิงก์ด้วยคำสั่ง "ปรับขนาด" สำหรับเซิร์ฟเวอร์ในส่วนแบบสอบถามของ url - การเพิ่มลิงก์โดยไม่มีคำสั่งจะให้ภาพที่มีความละเอียดสูงกว่า
2.7:
ปรับปรุงการค้นพบรูปภาพ แก้ไขข้อบกพร่องในโค้ดและการออกแบบ
เพิ่มการแยกวิเคราะห์แอตทริบิวต์ 'srcset' และ 'lowsrc' ในแท็ก 'img'
เพิ่มการแยกวิเคราะห์แอตทริบิวต์ 'srcset' ในแท็ก 'แหล่งที่มา' (ภายในแท็ก 'รูปภาพ' html5)
เพิ่มการแปลงผืนผ้าใบเป็นรูปภาพ - เทคนิคอันทรงพลังในการแยกรูปภาพที่มีการป้องกันในระดับสูง (ไม่แสดงในแท็บทรัพยากรของ Dev Tools) หมายเหตุ: ในขณะนี้ ภาพที่เพิ่มจะซ้อนกันทุกครั้งที่คลิกปุ่มส่วนขยาย สามารถลบออกได้โดยการอัปเดตเพจ
เพิ่มการตรวจสอบ URL รูปภาพขนาดยาว (ส่วนใหญ่อาจเป็นข้อมูล: รูปภาพ) และการวางตำแหน่งไว้ที่ด้านบนของหน้าแทนที่จะส่งไปยังป๊อปอัป (เพื่อให้สอดคล้องกับการแปลงผืนผ้าใบเป็นรูปภาพซึ่งสามารถสร้างสตริงข้อมูลจำนวนมาก: รูปภาพ / jpeg )
เพิ่มการเลือกสีของข้อความข้อมูลทางลัด (รวมอยู่ในตัวเลือกเดียวกับสีที่เลือกรูปภาพ) ในหน้าตัวเลือก ไอคอนก็มีการระบายสีตามนั้นเช่นกัน
ใส่ความคิดเห็นรหัสที่ล้าสมัยเพื่อเปิดหน้าตัวเลือกหลังจากติดตั้งและตรวจสอบเวอร์ชันก่อน 2.1 (ใน defaults.js)
แสดงความคิดเห็นตัวเลือกความกว้างขั้นต่ำเนื่องจากปัจจุบันใช้งานไม่ได้ (ไม่แน่ใจว่ามีประโยชน์หรือไม่) (ใน options.html)
สร้างความสูงสูงสุดตามตัวเลือกความกว้างสูงสุด (เพื่อให้ทำงานได้ดีขึ้นหากเลือกภาพตัวอย่างขนาดเล็ก)
แทนที่ zepto.js ด้วยซอร์สโค้ดดั้งเดิมที่ไม่ซับซ้อน
แก้ไขภาพเคลื่อนไหวที่กะพริบสำหรับข้อความดาวน์โหลด (เห็นได้ชัดว่ามันใช้งานไม่ได้ตั้งแต่เปลี่ยนจาก jquery เป็น zepto)
2.6:
การออกแบบใหม่ครั้งใหญ่และปรับปรุงการค้นพบรูปภาพ
ปรับปรุงรูปลักษณ์ป๊อปอัพให้ทันสมัย รูปภาพจะถูกวางบนไทล์พร้อมข้อมูลรูปภาพเพิ่มเติม เพิ่มการเลือกสีไทล์ให้กับตัวเลือก
แก้ไขข้อบกพร่องหลายประการ ปรับปรุงการค้นพบรูปภาพในหลายกรณี รวมถึงการแยกวิเคราะห์ css แบบลึกแทนที่จะเป็น styleSheets api ที่เสียหาย
เพิ่มทางลัดไปยังเว็บไซต์ Reverse Image Search (Google, Bing, Yandex, TinEye) สำหรับแต่ละภาพ
2.5:
เพิ่มการแสดงขนาดภาพและชื่อไฟล์ภาพ (สามารถปิดได้ในการตั้งค่า)
เพิ่มการเรียงลำดับรูปภาพตามขนาด - สองตัวเลือกใหม่: 1) เรียงลำดับตามความกว้างเท่านั้น (ค่าเริ่มต้น) หรือตามความกว้าง+ความสูง 2) ใหญ่ที่สุดไปเล็กที่สุด (ค่าเริ่มต้น) หรือย้อนกลับ
เพิ่มการปรับขนาดรูปภาพในแนวตั้งหากสูงกว่า 200px
รูปแบบ SVG ไม่ได้ถูกอ่านจากแท็ก 'svg' - แก้ไขแล้ว
เพิ่มรูปภาพการอ่านจาก 'โปสเตอร์' ของแท็ก 'วิดีโอ'
แก้ไขภาพพื้นหลังที่ไม่เป็นที่รู้จัก การอ่าน styleSheets ดูเหมือนจะไม่ทำงาน (อ่านจาก cssRules) วิธีแก้ปัญหาเบื้องต้น: ดึงไฟล์ CSS พร้อมลิงก์ที่ได้รับจากแท็ก 'ลิงก์' หมายเหตุ: บางไซต์ใช้โดเมนระดับที่สองที่แตกต่างกันในการจัดเก็บ CSS ในกรณีนี้ การดึงข้อมูลจะไม่ทำงานหากส่วนขยายไม่ได้รับอนุญาตสำหรับ 'all_urls' (หรือโดเมนใดโดเมนหนึ่ง) ส่งผลให้บางภาพไม่แสดงขึ้นมา ลบการอนุญาตในส่วนขยายของ Chrome หากเป็นปัญหา
เพิ่มการค้นพบภาพความละเอียดสูงสุดบน Google Maps และ Street View Photos (ค้นพบ API ที่ไม่มีเอกสาร)
เพิ่มตัวอย่างความละเอียดสูงสำหรับภาพขนาดย่อของ YouTube (รวมถึงวิดีโอของหน้าปัจจุบัน)
แก้ไข regexp สำหรับการแยกวิเคราะห์ลิงก์ของแท็ก 'a' เพื่อป้องกันการค้นพบลิงก์ที่ไม่ใช่รูปภาพ
2.4.2:
วิธีแก้ปัญหาสำหรับ Chrome ที่ไม่อนุญาตการเข้าถึงกฎ CSS ข้ามโดเมน
2.4.1:
แก้ไขปัญหาที่ URL ที่ไม่ถูกต้องจะทำให้ส่วนขยายเสียหาย - PactInteractive/image-downloader#23
อัปเดต Zepto.js เป็น 1.2.0
2.4:
เพิ่มตัวเลือกในการเปลี่ยนชื่อไฟล์ก่อนดาวน์โหลด
2.3:
เพิ่มการรองรับอิมเมจ BMP, SVG และ WebP
เพิ่มการรองรับ URL ที่เกี่ยวข้อง
ปรับปรุงความเร็วในการโหลดป๊อปอัปโดยการค้นหาผ่านองค์ประกอบที่น้อยลง
แทนที่การเรียก chrome.extension
ที่เลิกใช้แล้วด้วย chrome.runtime
2.2:
ลบการอนุญาตที่ไม่จำเป็นในการเข้าถึงแท็บ
ลบข้อความแจ้งการบริจาคเนื่องจากการร้องเรียนจากผู้ใช้บางรายว่าไม่หายไปหลังจากครั้งแรกเท่าที่ควร ตอนนี้หน้าตัวเลือกจะเปิดขึ้นในการติดตั้งครั้งแรกแทน
บันทึกค่าของตัวกรอง URL
พยายามแก้ไขปัญหาขนาดบางอย่างอีกครั้ง
2.1:
เพิ่มตัวกรองความกว้าง / ความสูงของภาพ
เพิ่มการรีเซ็ตการตั้งค่าทั้งหมดแบบครั้งเดียวเนื่องจากบางคนมีปัญหาเรื่องขนาด
ลบตัวเลือกการจัดเรียงตาม URL
2.0:
เพิ่มความสามารถในการบันทึกไฟล์ลงในโฟลเดอร์ย่อย
ใช้ API ดาวน์โหลดของ Google Chrome
ใช้การออกแบบที่สะอาดตาและอิงตามตาราง
การคลิกที่กล่องข้อความ URL รูปภาพจะเป็นการเลือกข้อความโดยอัตโนมัติเพื่อให้ผู้ใช้สามารถคัดลอกได้
แก้ไขปัญหาการแสดงผลเล็กน้อยบางประการ
เพิ่มการตั้งค่าสำหรับจำนวนคอลัมน์ ลบการตั้งค่ารูปแบบเส้นขอบออก
เพิ่มปุ่มบริจาคในหน้าตัวเลือก
1.3:
รูปภาพที่ใช้ในแท็กสไตล์จะถูกรวมไว้ที่ส่วนท้ายของรายการด้วย เฉพาะรูปภาพจากแอตทริบิวต์รูปแบบอินไลน์ขององค์ประกอบที่เคยรวมไว้
เพิ่มการรองรับ URI ข้อมูล
แก้ไขข้อบกพร่องและการเพิ่มประสิทธิภาพหลายประการ
1.2:
เปลี่ยน URL เหนือรูปภาพเพื่อแสดงในกล่องข้อความแบบอ่านอย่างเดียว
ย้ายช่องทำเครื่องหมายรูปภาพไปที่ด้านบนและเพิ่มปุ่มเปิดและดาวน์โหลดด้านล่างแต่ละช่อง
ในตอนแรกปิดการใช้งานปุ่ม "ดาวน์โหลด" และช่องทำเครื่องหมาย "ทั้งหมด"
แนะนำตัวเลือกใหม่บางส่วนในการซ่อนตัวกรอง ปุ่ม และการแจ้งเตือน
ลบตัวเลือกความกว้างของร่างกายออก ความกว้างของป๊อปอัปจะปรับขนาดให้สัมพันธ์กับตัวเลือกความกว้างของภาพสูงสุด
ปรับปรุงการออกแบบ
1.1:
แก้ไขการบันทึกความกว้างของรูปภาพขั้นต่ำและสูงสุด
เพิ่ม URL เหนือรูปภาพและตัวเลือกในการสลับ
เพิ่มโหมดตัวกรองไวด์การ์ด (ควบคู่ไปกับปกติและ regex)
ตอนนี้สถานะของตัวกรองที่เลือกจะถูกบันทึก
ย้ายตัวเลือก "จัดเรียงตาม URL" กลับไปที่ตัวกรอง
เพิ่มปุ่ม "ล้างข้อมูล" ในหน้าตัวเลือก แม้ว่าส่วนขยายจะไม่ได้ใช้พื้นที่เก็บข้อมูลในเครื่องมากนัก แต่บางคนอาจชื่นชอบตัวเลือกนี้
ปรับโครงสร้างโค้ดจำนวนมาก โดยเฉพาะการใช้ที่จัดเก็บในเครื่อง
1.0.13:
เพิ่มการแจ้งเตือนเพื่อแจ้งให้ผู้ใช้ทราบว่าการดาวน์โหลดได้เริ่มต้นแล้ว
เพิ่มภาพเคลื่อนไหวและปรับแต่งการแจ้งเตือนตัวเลือกอีกเล็กน้อย
แก้ไขตัวจัดการเหตุการณ์บางตัวที่ถูกแนบหลายครั้ง
1.0.12:
ย้ายไปยัง jQuery
ใช้สถานะไม่แน่นอนสำหรับช่องทำเครื่องหมาย "ทั้งหมด"
ปุ่ม "ดาวน์โหลด" จะถูกปิดใช้งานหากไม่มีการเลือกรูปภาพ
แก้ไขข้อบกพร่องด้วยตัวเลือกการรีเซ็ต - ตอนนี้ผู้ใช้สามารถเลือกที่จะบันทึกค่ารีเซ็ตหรือยกเลิกการรีเซ็ตโดยโหลดหน้าซ้ำ - เช่นเดียวกับที่ระบุไว้ในการแจ้งเตือน
1.0.11:
เปลี่ยนกลไกการดาวน์โหลดเพื่อรองรับ Chrome v21+
เพิ่มตัวเลือกตัวกรอง "แสดงเฉพาะรูปภาพที่เชื่อมโยง" ที่มีประโยชน์เมื่อคุณต้องการดาวน์โหลดรูปภาพที่อยู่ใน URL บนเพจเท่านั้น
1.0.10:
เพิ่มการยืนยันการดาวน์โหลด
1.0.9:
จำนวนภาพจะแสดงถัดจากช่องทำเครื่องหมาย "ทั้งหมด"
1.0.8:
เพิ่มการตรวจจับ URL รูปภาพในแท็กจุดยึด โปรดทราบว่าคุณลักษณะนี้จะตรวจไม่พบ URL ที่ไม่มีนามสกุลไฟล์ .jpg, .jpeg, .gif หรือ .png โดยอาศัยนิพจน์ทั่วไปเพื่อหลีกเลี่ยงการส่งคำขอหลายร้อยรายการไปยังเซิร์ฟเวอร์ภายนอก
1.0.7:
ลบระบบการแจ้งเตือนบนเดสก์ท็อปที่ปรากฏขึ้นเมื่อคุณกด "ดาวน์โหลด" แทนคำอธิบายข้อความที่น่าจะควบคุมได้ง่ายกว่า (ผ่านตัวเลือก) และรบกวนน้อยกว่า สิ่งนี้ควรต้องการสิทธิ์น้อยกว่าสำหรับส่วนขยายด้วย
เพิ่มตัวเลือกในการซ่อนการแจ้งเตือนการดาวน์โหลด คนส่วนใหญ่ควรเข้าใจกระบวนการดาวน์โหลดหลังจากอ่านเพียงครั้งเดียว
ทำการปรับแต่ง UI เล็กน้อย
1.0.6:
แก้ไขปัญหาภาพเปล่าที่ไม่จำเป็นหลายภาพ
1.0.5:
องค์ประกอบที่แสดงรูปภาพโดยใช้คุณสมบัติ CSS "พื้นหลังรูปภาพ" จะถูกแยกออกมาด้วย
1.0.4:
เพิ่มการแจ้งเตือนที่แจ้งเตือนผู้ใช้เมื่อกระบวนการดาวน์โหลดเริ่มต้นขึ้น และอธิบายว่าจะหาไฟล์ได้จากที่ไหน
อ้างอิงจากตัวอย่างส่วนขยายของ Google Chrome "ดาวน์โหลดลิงก์ที่เลือก": https://developer.chrome.com/extensions/examples/api/downloads/download_links.zip
ใช้ไลบรารี JSS เล็กๆ แต่ยอดเยี่ยม: https://github.com/Box9/jss
และ Zepto.js: http://zeptojs.com
รูปภาพ: download.svg ได้รับอนุญาตโดย CC BY 3.0 จาก oNline Web Fonts http://www.onlinewebfonts.com/icon open.svg ได้รับอนุญาตโดย CC BY 3.0 จาก oNline Web Fonts http://www.onlinewebfonts.com/icon
ลิขสิทธิ์ (c) 2019 Dmitry Kislitsyn, Vladimir Sabev
อนุญาตให้บุคคลใดก็ตามที่ได้รับสำเนาของซอฟต์แวร์นี้และไฟล์เอกสารที่เกี่ยวข้อง ("ซอฟต์แวร์") อนุญาตโดยไม่เสียค่าใช้จ่าย เพื่อจัดการกับซอฟต์แวร์โดยไม่มีข้อจำกัด รวมถึงแต่ไม่จำกัดเพียงสิทธิ์ในการใช้ คัดลอก ปรับเปลี่ยน ผสาน เผยแพร่ แจกจ่าย ให้อนุญาตช่วง และ/หรือขายสำเนาของซอฟต์แวร์ และอนุญาตให้บุคคลที่ได้รับซอฟต์แวร์นี้สามารถทำได้ ภายใต้เงื่อนไขต่อไปนี้:
ประกาศเกี่ยวกับลิขสิทธิ์ข้างต้นและประกาศการอนุญาตนี้จะรวมอยู่ในสำเนาทั้งหมดหรือส่วนสำคัญของซอฟต์แวร์
ซอฟต์แวร์นี้มีให้ "ตามที่เป็น" โดยไม่มีการรับประกันใดๆ ทั้งโดยชัดแจ้งหรือโดยนัย ซึ่งรวมถึงแต่ไม่จำกัดเพียงการรับประกันความสามารถในการค้าขาย ความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ และการไม่ละเมิด ไม่ว่าในกรณีใดผู้เขียนหรือผู้ถือลิขสิทธิ์จะต้องรับผิดต่อการเรียกร้องค่าเสียหายหรือความรับผิดอื่นใดไม่ว่าในการกระทำของสัญญาการละเมิดหรืออย่างอื่นที่เกิดขึ้นจากหรือเกี่ยวข้องกับซอฟต์แวร์หรือการใช้งานหรือข้อตกลงอื่น ๆ ใน ซอฟต์แวร์.