วิธีที่ถูกต้องในการรวมภาพที่ไม่มี src คืออะไร?


234

ฉันมีภาพที่ฉันจะเติมด้วย src แบบไดนามิกในภายหลังด้วย javascript แต่เพื่อความสะดวกฉันต้องการให้แท็กภาพอยู่ที่ pageload แต่ไม่แสดงอะไรเลย ฉันรู้ว่า<img src='' />ไม่ถูกต้องดังนั้นวิธีที่ดีที่สุดในการทำเช่นนี้คืออะไร


4
นี่เป็นคำถามที่ค่อนข้างเก่า แต่ก็คุ้มค่าที่จะพิจารณาว่ารูปภาพที่ไม่มี src นั้นไม่มีความหมายเป็นหลักและนั่นคือเหตุผลที่ spec ระบุว่ารูปภาพนั้นจะต้องมี src ที่ชี้ไปยังทรัพยากรฝังตัวบางอย่างในตอนแรก หากคุณกำลังคิดเกี่ยวกับความถูกต้องและ / หรือความหมายคุณจะได้รับบริการที่ดีขึ้นโดยการละเว้นภาพทั้งหมดและเพิ่มหลังจากความจริงแล้วเนื่องจาก HTML ไม่มีวิธีระบุรูปภาพตัวยึดที่จะถูกเติมด้วยข้อมูลในภายหลัง
BoltClock

1
ในการใช้ปลั๊กอิน jQuery การโหลดแบบสันหลังยาวของ Mika Tuupola จะใช้มาร์กอัป '<img class = "สันหลังยาว" data-original = "img / example.jpg" width = "640" height = "480">' ดังนั้นคุณจึงรู้สึกว่า จำเป็นต้องชี้ไปที่ต้นทาง แต่ไม่จำเป็นต้องทำกับแอ็ตทริบิวต์ src
iWillGetBetter

คุณสามารถใช้องค์ประกอบ div แทนได้โปรดดูสิ่งนี้ => stackoverflow.com/a/5513934/1395101
Amin Ghaderi

คำตอบ:


237

แม้ว่าจะไม่มีวิธีที่ถูกต้องในการละเว้นแหล่งที่มาของรูปภาพ แต่ก็มีแหล่งที่มาซึ่งจะไม่ทำให้เซิร์ฟเวอร์ฮิต ฉันเพิ่งมีปัญหาที่คล้ายกันกับiframes และมุ่งมั่นที่//:0จะเป็นตัวเลือกที่ดีที่สุด ไม่มีจริงๆ!

การเริ่มต้นด้วย//(ละเว้นโพรโทคอล) ทำให้โปรโตคอลของหน้าปัจจุบันถูกใช้เพื่อป้องกันคำเตือน "เนื้อหาที่ไม่ปลอดภัย" ในหน้า HTTPS ไม่จำเป็นต้องข้ามชื่อโฮสต์ แต่ทำให้สั้นลง ในที่สุดพอร์ตของการ:0ทำให้แน่ใจว่าคำขอของเซิร์ฟเวอร์ไม่สามารถทำได้ (ไม่ใช่พอร์ตที่ถูกต้องตามสเป็ค)

นี่เป็น URL เดียวที่ฉันพบว่าไม่มีเซิร์ฟเวอร์หรือข้อความแสดงข้อผิดพลาดในเบราว์เซอร์ใด ๆ ตัวเลือกปกติ - javascript:void(0)- จะทำให้เกิดคำเตือน "เนื้อหาที่ไม่ปลอดภัย" ใน IE7 หากใช้กับหน้าเว็บที่ให้บริการผ่าน HTTPS พอร์ตอื่นใดทำให้เกิดการพยายามเชื่อมต่อเซิร์ฟเวอร์แม้จะเป็นที่อยู่ที่ไม่ถูกต้องก็ตาม (เบราว์เซอร์บางตัวจะส่งคำขอที่ไม่ถูกต้องและรอให้หมดเวลา)

นี่เป็นการทดสอบใน Chrome, Safari 5, FF 3.6 และ IE 6/7/8 แต่ฉันคาดว่ามันจะทำงานในเบราว์เซอร์ใด ๆ เพราะมันควรจะเป็นเลเยอร์เครือข่ายที่ฆ่าคำขอที่พยายามทำ


16
คำตอบนี้อาจทำให้ไฟร์วอลล์ของคุณเตือนคุณเกี่ยวกับการเข้าถึงพอร์ต 0 เช่น หรืออาจทำให้บันทึกความปลอดภัยของเซิร์ฟเวอร์ คำตอบabout:blankอาจเป็นทางออกที่ดีกว่า
Florian Margaine

10
นี่เป็นสาเหตุให้ไอคอนภาพที่ไม่สามารถใช้งานได้แสดงให้ฉันเห็น มีคนอื่นเห็นสิ่งนี้อีกหรือไม่ ฉันใช้ Firefox รุ่นล่าสุด (27)
dmikester1

10
สิ่งนี้ยังไม่ผ่านตัวตรวจสอบความถูกต้อง w3c: ค่าไม่ดี //: 0 สำหรับแอตทริบิวต์ src ในองค์ประกอบ img: โฮสต์ไม่ถูกต้อง: โฮสต์ที่ว่างเปล่า
ysrb

สิ่งนี้ไม่ทำงาน: ฉันมีแอปพลิเคชั่น ASP.NET MVC 4 ซึ่งมีปลั๊กอินแกลเลอรี่ภาพที่เรียกว่าการล้างข้อมูล ปลั๊กอินสร้างภาพแบบไดนามิกและมันทำให้ //: 0 o src จนภาพดึงมาจริง นี่ทำให้การกระทำดัชนีของผู้ดูแลที่บ้านของฉันถูกเรียกสองครั้ง ดังนั้นจงระวัง
jpgrassi

2
ใน Firefox 38 วิธีการนี้จะเรียกใช้onerrorตัวจัดการรูปภาพ
Nate Whittaker

221

ตัวเลือกอื่นคือการฝังภาพเปล่า ภาพใด ๆ ที่เหมาะสมกับจุดประสงค์ของคุณจะทำ แต่ตัวอย่างต่อไปนี้จะเข้ารหัส GIF ที่มีขนาด 26 ไบต์เท่านั้น - จากhttp://probablyprogramming.com/2009/03/15/the-tiniest-gif-ever

<img src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" width="0" height="0" alt="" />

แก้ไขตามความคิดเห็นด้านล่าง:

แน่นอนคุณต้องพิจารณาข้อกำหนดการสนับสนุนเบราว์เซอร์ของคุณ ไม่มีการรองรับ IE7 หรือต่ำกว่านั้นเด่น http://caniuse.com/datauri


14
ความคิดที่ดี! สำหรับฉันแล้วนี่เป็นการฆ่าองค์ประกอบภาพ - ถ้าใครต้องการด้านอื่น ๆ ของimgองค์ประกอบที่จะแสดงเช่นพื้นหลังและเส้นขอบลองsrc="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="สิ่งที่นำมาจาก 1px x 1px โปร่งใส gif ฉันทำฉัน Photoshop ผลักผ่านbase64-image.de
user56reinstatemonica8

4
คุณอาจต้องการคิดสองครั้งเกี่ยวกับการฝัง
shawnjan

1
ความเป็นไปได้ของตัวเลือกนี้ขึ้นอยู่กับเบราว์เซอร์ที่คุณต้องสนับสนุน: caniuse.com/datauri
Jeff Clemens

6
นี่คือ PNG โปร่งใส 1 พิกเซล:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNgYAAAAAMAASsJTYQAAAAASUVORK5CYII=
Keavon

2
URL ภาพโปร่งใสที่เหมาะกับฉัน -data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7
Vikram Rao

34

วันนี้ IMHO วิธีที่สั้นที่สุดมีเหตุผลและถูกต้องสำหรับ img src ที่ว่างเปล่าเป็นดังนี้:

<img src="data:," alt>
or
<img src="data:," alt="Alternative Text">

ตัวอย่างที่สองแสดง "Alternative Text" (บวกกับไอคอนแสดงความเสียหายใน Chrome และ IE)

"data:,"เป็น URI ที่ถูกต้อง text/plainที่ว่างเปล่าค่าเริ่มต้นของสื่อชนิด ดังนั้นจึงแสดงถึงไฟล์ข้อความที่ว่างเปล่าและเทียบเท่า"data:text/plain,"


OT: altเบราว์เซอร์ทั้งหมดเข้าใจธรรมดา คุณสามารถละเว้น=""ได้โดยปริยายต่อข้อกำหนด HTML


1
ไม่มีข้อผิดพลาด HTML พร้อมการตรวจสอบตัวตรวจสอบ W3C ไม่มีคำขอที่ไม่จำเป็น 👍ดูเหมือนจะเป็นวิธีที่ถูกต้องวิธีการทำ
Kai Noack

พิเศษสุด! อีกอย่างหนึ่งถ้าคุณต้องการให้มันตรวจสอบใน srcset ให้ใช้srcset="data:,x"
Lucian Davidescu

18

ฉันขอแนะนำให้เพิ่มองค์ประกอบแบบไดนามิกและถ้าใช้ jQuery หรือห้องสมุด JavaScript อื่น ๆ มันค่อนข้างง่าย:

ยังมองและprepend appendมิฉะนั้นถ้าคุณมีแท็กรูปภาพเช่นนั้นและคุณต้องการให้มันตรวจสอบแล้วคุณอาจพิจารณาใช้ภาพจำลองเช่น gif หรือ png โปร่งใส 1px


7
+1 นี่คือคำตอบที่ดีที่สุด หากมีการตั้งค่าแหล่งที่มาของภาพแบบไดนามิกองค์ประกอบทั้งหมดควรจะเพิ่มแบบไดนามิก หากคุณไม่ต้องการให้มันปรากฏจนกว่า src จะถูกตั้งค่าฉันไม่สามารถนึกถึงเหตุผลที่ดีว่าทำไมองค์ประกอบควรมีก่อนหน้านั้น
Andrew Ensley

15

ฉันไม่ได้ทำสิ่งนี้มาระยะหนึ่งแล้ว แต่ฉันก็ต้องทำสิ่งนี้อีกครั้ง

<img src="about:blank" alt="" />

สิ่งที่ฉันชอบคือสิ่ง//:0หนึ่งบ่งบอกว่าคุณจะพยายามเชื่อมต่อ HTTP / HTTPS กับเซิร์ฟเวอร์ต้นทางบนพอร์ตศูนย์ (พอร์ต tcpmux หรือไม่) ซึ่งอาจไม่เป็นอันตราย แต่ฉันไม่ต้องการทำอะไรเลย เฮ้เบราว์เซอร์อาจเห็นพอร์ตเป็นศูนย์และไม่ส่งคำขอ แต่ฉันก็ยังไม่ได้ระบุวิธีนั้นเมื่อนั่นอาจไม่ใช่สิ่งที่คุณหมายถึง

อย่างไรก็ตามการแสดงผลของabout:blankจริงเร็วมากในเบราว์เซอร์ทั้งหมดที่ฉันทดสอบ ฉันเพิ่งโยนมันเข้าไปในเครื่องมือตรวจสอบ W3C และมันก็ไม่ได้บ่นดังนั้นมันจึงอาจใช้ได้

แก้ไข : อย่าทำอย่างนั้น; มันใช้งานไม่ได้กับทุกเบราว์เซอร์ (มันจะแสดงไอคอน 'ภาพแตก' ตามที่ระบุไว้ในความคิดเห็นสำหรับคำตอบนี้) ใช้<img src='data:...วิธีแก้ปัญหาด้านล่าง หรือถ้าคุณไม่สนใจความถูกต้อง แต่ยังต้องการหลีกเลี่ยงการร้องขอที่ไม่จำเป็นไปยังเซิร์ฟเวอร์ของคุณคุณสามารถทำได้<img alt="" />โดยไม่ต้องใช้ src attribute แต่นั่นคือHTML ที่ไม่ถูกต้องดังนั้นโปรดเลือกอย่างระมัดระวัง

หน้าทดสอบแสดงทั้งกลุ่มของวิธีการที่แตกต่างกัน: http://desk.nu/blank_image.php - เสิร์ฟพร้อมกับประเภทของเนื้อหาและประเภทเนื้อหาที่แตกต่างกัน - ตามที่ระบุไว้ในความคิดเห็นด้านล่างใช้หน้าทดสอบใหม่ของ Mark Ormston ที่: http://memso.com/Test/BlankImage.html


ดูเหมือนว่าจะสะอาดกว่าการปล่อยให้เลเยอร์เครือข่ายออกข้อผิดพลาด
Denys Séguret

อย่างน้อยคุณก็มั่นใจได้ว่าไฟร์วอลล์ที่โง่เง่าจะไม่ขออนุญาตโทรพอร์ต 0 ...
Denys Séguret

1
เป็นมูลค่าการกล่าวขวัญว่าสิ่งนี้จะแสดงไอคอน 'ภาพเสีย' บน Chrome (และอาจเป็นเบราว์เซอร์อื่น ๆ ด้วย)
user56reinstatemonica8

1
มันแย่กว่าที่ฉันคิดไว้ - ถึงแม้จะมี html5 doctype แต่ดูเหมือนว่ามันจะไม่ทำงานใน Safari หรือ Chrome ฉันมีหน้าทดสอบที่จะเพิ่มเนื้อหาประเภทและประเภทของหน้าและสิ่งที่ฉันชอบคือ: <img />- แท็กรูปภาพที่ไม่มีแอตทริบิวต์ src สิ่งนี้ไม่ถูกต้อง (ดังนั้นจึงไม่มีจุดที่ใส่แท็ก alt เปล่าในนั้นเช่นกัน) ฉันเล่นกับมันต่อไปและจะอัปเดตคำตอบของฉัน (หรือโจมตีผ่าน) ตามนั้น
Uberbrady

2
ฉันนำหน้าทดสอบของคุณและอัปเดตแล้วดังนั้นจึงชัดเจนกว่าเมื่อรูปภาพทำงานไม่ถูกต้อง รูปภาพเปล่าเก่าถูกรวมไว้เป็นตัวอย่าง "ทำงานได้ตลอดเวลา" รวมถึงคำอธิบายสั้น ๆ เกี่ยวกับสิ่งที่คุณเห็น: memso.com/Test/BlankImage.html สิ่งนี้ทำให้ฉันตระหนักว่า gif ข้อมูลเปล่าที่ถูกต้องเป็นการนำมาใช้ซ้ำเท่านั้น ตัวเลือกสำหรับเบราว์เซอร์ที่ทันสมัยอื่น ๆ นอกเหนือจากภาพ gif เปล่าเก่า (ซึ่งยังคงต้องใช้สำหรับ IE7 เก่าและต่ำกว่า)
Mark Ormston

12

ตามที่เขียนไว้ในความคิดเห็นวิธีนี้ไม่ถูกต้อง

ฉันไม่พบคำตอบนี้มาก่อน แต่กำกับการรายละเอียด W3ว่างที่ถูกต้องแท็กจะเป็นสมอลิงค์src#

ตัวอย่าง: src="#",src="#empty"

ตรวจสอบความถูกต้องของหน้าได้สำเร็จและไม่มีการร้องขอพิเศษใด ๆ


1
มีข้อโต้แย้งต่อต้านวิธีนี้หรือไม่? มันเป็นอย่างไรในเบราว์เซอร์?
tremby

18
ฉันเห็นทั้ง Firefox และ Chrome ร้องขอเป็นครั้งที่สองเมื่อใช้วิธีนี้ดังนั้นฉันจะไม่แนะนำ
Marius

5
Firefox, Chrome ทำการร้องขอสองแม้ JMeter แยกวิเคราะห์ img src ซึ่งผลในการโหลดหน้าเว็บ recursive (จนถึงความลึกสูงสุดถึง)
burna

1
ใน FF คุณต้องกดปุ่มย้อนกลับเบราว์เซอร์สองครั้งถ้าคุณต้องการใบหน้าเนื่องจาก URL ที่มีการเปลี่ยนแปลงไปอย่างลึกลับ ..
Kalaschni

3
นี่เป็นสิ่งที่ผิดธรรมดา ใด ๆ ที่เกิดขึ้นในการอ่านความเห็น - ไม่ได้ใช้นี้
เงา Wizard เป็นหูสำหรับคุณ

11

ฉันพบว่าเพียงแค่ตั้งค่า src เป็นสตริงว่างและเพิ่มกฎให้กับ CSS ของคุณเพื่อซ่อนไอคอนรูปภาพที่เสียหายก็ใช้งานได้ดี

[src=''] {
    visibility: hidden;
}

[ng-src = ''] {การมองเห็น: ซ่อนอยู่; } ถ้าคุณใช้คำสั่ง ng-src ใน angularjs
Ivan Paredes

1
หมายเหตุว่าต้องตั้งค่า src เป็น''ต้องไม่ถูกกำหนด
Vincent Hoch-Drei

หากฉันไม่เข้าใจผิดคำขอจะยังคงดำเนินต่อไป
นิโก้

9

หากคุณเก็บเบราว์เซอร์ที่ว่างเปล่า src จะส่งคำขอไปยัง URL หน้าปัจจุบันเพิ่ม 1 * 1 โปร่งใส img ในแอตทริบิวต์ src หากไม่ต้องการ URL ใด ๆ

src="data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA="

1
สิ่งนี้จะปรากฏเป็นจุดดำในบางเบราว์เซอร์
tomasz86

IE8 แน่นอนและ Firefox รุ่นเก่าตามstackoverflow.com/questions/9126105/…
tomasz86

1
src นี้data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==ทำงานแม้ว่า
Max Yari

9

ฉันพบว่าใช้:

<img src="file://null">

จะไม่ทำการร้องขอและตรวจสอบความถูกต้อง

เบราว์เซอร์จะบล็อกการเข้าถึงระบบไฟล์ในเครื่อง

แต่อาจมีข้อผิดพลาดปรากฏขึ้นในบันทึกของคอนโซลใน Chrome เช่น:

Not allowed to load local resource: file://null/

2
สนใจที่จะอธิบาย downvote หรือไม่ โปรดทราบว่าฉันไม่แนะนำให้ใช้วิธีการนี้เพียงแค่ระบุกรณีสำหรับการสนทนา และเป็นไปตามข้อกำหนดจากคำถามเพื่อตรวจสอบความถูกต้องและไม่ทำคำขอเพิ่มเติม
tenkod

8

ใช้ SVG ที่ว่างเปล่าถูกต้องและเข้ากันได้อย่างแท้จริงโดยอ้างอิงจากบทความนี้ :

src="data:image/svg+xml;charset=utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%3E%3C/svg%3E"

มันจะมีขนาดเริ่มต้นที่ 300x150px เช่นเดียวกับ SVG ใด ๆ แต่คุณสามารถทำงานกับมันในimgสไตล์เริ่มต้นองค์ประกอบของคุณตามที่คุณอาจต้องการในกรณีใด ๆ ในการใช้งานจริง


ขอบคุณสำหรับการอัปเดตคำตอบของคุณ แต่ฉันสงสัยว่าความเข้ากันได้นั้นแย่กว่านี้สำหรับโซลูชัน data-uri อื่น ๆ เนื่องจากคุณใช้ svg ซึ่งไม่สามารถใช้งานร่วมกับ IE9 ได้ โชคดีที่ฉันได้รับการสนับสนุน IE ดั้งเดิมมาระยะหนึ่งแล้ว แต่ก็ยังมีความเกี่ยวข้องกับบางคน
funkylaundry

แต่นี่ไม่ได้ประสบปัญหาเดียวกับในบทความนี้? dev.mobify.com/blog/data-uris-are-slow-on-mobile ฉันกำลังคิดว่าตัวเลือก <img src = "about: blank"> ด้วย css img [src = "about: blank"] {opacity: 0} ทางออกดีที่สุด หรือหากตัวเลือก CSS ระดับนั้นไม่ได้รับการสนับสนุนในเบราว์เซอร์รุ่นเก่าเพียงให้แท็ก img เป็นคลาสเช่น "โหลดเข้า" หรืออะไรบางอย่าง ยังดีกว่าให้คลาสใช้ JavaScript เพื่อสลับ data-src จากนั้นตั้งค่าฟังก์ชั่นโหลดให้กับรูปภาพเพื่อทำให้โหลดจางลง คุณสามารถตั้งค่าสปินเนอร์ที่จะแสดงในขณะที่โหลด ดูเป็นมืออาชีพจริงๆ
Jordan Carter

@ JordanCarter แน่นอนว่าถ้ารายละเอียดเรื่องประสิทธิภาพเป็นเรื่องที่กังวล ในฐานะ sidenote ฉันจะบอกว่าvisibility: hiddenมันเหมาะสมกว่าopacity: 0ตัวเลือกคุณลักษณะที่คุณแนะนำ
mystrdat

6

การสร้างคำตอบของ Ben Blank วิธีเดียวที่ฉันได้รับสิ่งนี้เพื่อตรวจสอบในตัวตรวจสอบความถูกต้องของ w3 เป็นเช่นนั้น:

<img src="/./.:0" alt="">`

มันตรวจสอบความถูกต้อง แต่ส่งผลให้ภาพเสียใน Firefox แม้จะมีaltแอตทริบิวต์ที่ว่างเปล่า
James Wright

4

ผมเองใช้about:blank srcและจัดการกับไอคอนภาพเสียโดยการตั้งค่าความทึบขององค์ประกอบimg0


7
ตอนนี้สกปรกแล้ว!
mystrdat

@ mystrdat: สนใจที่จะอธิบายอย่างละเอียดว่าทำไมมันถึงสกปรก? คำตอบที่ได้รับการยอมรับการใช้ "//: 0" ยังคงให้ไอคอนภาพที่ไม่สมบูรณ์พร้อมกับคำขอแปลก ๆ ที่ไม่สิ้นสุดบน Firefox พิกเซลเดียว base64 png ที่เป็นทางเลือกนอกจากนี้ยังมีการโหวตมากมายทำให้ฉันมีปัญหาเมื่อใช้ <img> เป็นตัวยึดตำแหน่งทั้งที่มีและไม่มีการระบุความสูงและความกว้าง นี่เป็นวิธีที่สะอาดที่สุดที่ฉันพบเพื่อให้บรรลุเป้าหมายโดยไม่ต้องมีการร้องขอที่ไม่จำเป็นและผ่านการตรวจสอบและการรับรองความถูกต้องทั้งหมด
มิเกล

โซลูชั่นทั้งหมดข้างต้นโง่มากที่ได้รับการยอมรับฉันจะตอบกลับใหม่เมื่อฉันมีเวลามากขึ้น
mystrdat

@ mystrdat: ฉันจะยังคงมีความสุขที่ได้เรียนรู้สิ่งที่คุณต้องพูดเกี่ยวกับเรื่องนี้?
funkylaundry

1
@Funkylaundry ฉันขอโทษที่ทำให้การเรียกร้องใหญ่และหายไปโพสต์คำตอบของฉันตอนนี้ ฉันก็ยอมรับว่าฉันไม่ได้สังเกตเห็นวิธีแก้ปัญหา Data URI อื่นมาก่อนซึ่งฉันเห็นด้วย แต่ฉันเชื่อว่าของฉันดีกว่าในไวยากรณ์อยู่แล้ว
mystrdat

4
<img src="invis.gif" />

โดยที่ invis.gif เป็น gif โปร่งใสพิกเซลเดียว สิ่งนี้จะไม่แตกในเวอร์ชันของเบราว์เซอร์ในอนาคตและทำงานในเบราว์เซอร์รุ่นเก่าตั้งแต่ยุค 90

png ควรทำงานด้วย แต่ในการทดสอบของฉัน gif คือ 43 ไบต์และ png คือ 167 ไบต์ดังนั้น gif จึงชนะ

ps อย่าลืมแท็ก alt ผู้ตรวจสอบก็ชอบเหมือนกัน


-1

ง่ายๆเช่นนี้

<img id="give_me_src"/>

4
ไม่ได้เป็นความคิดที่ดีตามข้อมูลจำเพาะ : แอตทริบิวต์ src จะต้องนำเสนอและจะต้องมี URL ที่ถูกต้อง ...
ไมเคิล Litvin

1
อาจจะทำงานได้ดีใน chrome แต่จะมีข้อผิดพลาดในการตรวจสอบความถูกต้องของ HTML และ
ไม่ใช่ h3 ที่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.