คำถามติดแท็ก javascript

สำหรับคำถามเกี่ยวกับการเขียนโปรแกรมใน ECMAScript (JavaScript / JS) และภาษา / การใช้งานต่างๆ (ไม่รวม ActionScript) แท็กนี้ไม่ค่อยได้ใช้คนเดียว แต่ส่วนใหญ่มักจะเกี่ยวข้องกับแท็ก [node.js], [jquery], [json] และ [html]

6
เหตุใด Internet Explorer จึงไม่ส่งเนื้อหาโพสต์ HTTP ในการโทร Ajax หลังจากล้มเหลว
เราสามารถสร้างสถานการณ์ต่อไปนี้ขึ้นใหม่ได้อย่างน่าเชื่อถือ: สร้างเพจ HTML ขนาดเล็กที่ส่งคำขอ AJAX ไปยังเซิร์ฟเวอร์ (โดยใช้ HTTP POST) ยกเลิกการเชื่อมต่อจากเครือข่ายและเชื่อมต่อใหม่ ตรวจสอบแพ็กเก็ตที่ IE สร้างขึ้นหลังจากความล้มเหลว หลังจากการเชื่อมต่อเครือข่ายล้มเหลว IE จะส่งคำขอ AJAX ถัดไป แต่จะส่งเฉพาะส่วนหัว HTTP (ไม่ใช่เนื้อหา) เมื่อทำการโพสต์ HTTP สิ่งนี้ทำให้เกิดปัญหาทุกประเภทบนเซิร์ฟเวอร์เนื่องจากเป็นเพียงคำขอบางส่วน Google พบปัญหานี้กับ Bing และคุณจะพบผู้คนจำนวนมากบ่นเกี่ยวกับ "ข้อผิดพลาดของเซิร์ฟเวอร์แบบสุ่ม" โดยใช้ AJAX หรือความล้มเหลวของ AJAX ที่ไม่ได้อธิบาย เราทราบดีว่า IE (ไม่เหมือนกับเบราว์เซอร์อื่น ๆ ส่วนใหญ่) จะส่ง HTTP POST เป็นสองแพ็กเก็ต TCP / IP เสมอ ส่วนหัวและเนื้อหาจะถูกส่งแยกกัน ในกรณีที่เกิดความล้มเหลวโดยตรงIE จะส่งเฉพาะส่วนหัวเท่านั้น …

1
jQuery เวอร์ชัน 1 เวอร์ชัน 2 และเวอร์ชัน 3 แตกต่างกันอย่างไร [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันเพิ่งสะดุดกับการwebchart.jsออกแบบเพจโดยใช้ jQuery เวอร์ชัน 2 และฉันใช้ jQuery เวอร์ชัน 1 เพื่อให้รหัสใช้งานได้ให้ใช้ตอนนี้เป็นเวอร์ชันล่าสุดจากนั้นฉันตรวจสอบการสนับสนุนหลักของ jQuery และมีการเผยแพร่ jQuery 3 ตอนนี้ฉันกำลังคิดว่าจะใช้เวอร์ชัน 3 แต่ฉันกำลังมองหาว่าเวอร์ชัน 3 มีปัญหาความเข้ากันได้หรือไม่ซึ่งอาจใช้กับอุปกรณ์บางอย่างเท่านั้น
114 javascript  jquery 

9
เหตุใดการต่อสตริงจึงเร็วกว่าการรวมอาร์เรย์
วันนี้ฉันอ่านกระทู้นี้เกี่ยวกับความเร็วของการต่อสายอักขระ น่าแปลกที่การต่อสตริงเป็นผู้ชนะ: http://jsben.ch/#/OJ3vo ผลลัพธ์ตรงข้ามกับที่ฉันคิดไว้ นอกจากนี้ยังมีบทความจำนวนมากเกี่ยวกับเรื่องนี้ซึ่งอธิบายตรงข้ามเช่นนี้ ฉันเดาได้ว่าเบราว์เซอร์ได้รับการปรับให้เหมาะกับสตริงconcatในเวอร์ชันล่าสุด แต่จะทำได้อย่างไร เราสามารถพูดได้ว่ามันจะดีกว่าที่จะใช้+เมื่อเชื่อมต่อสตริง? ปรับปรุง ดังนั้นในการต่อสายอักขระในเบราว์เซอร์สมัยใหม่จึงได้รับการปรับให้เหมาะสมดังนั้นการใช้+เครื่องหมายจึงเร็วกว่าการใช้joinเมื่อคุณต้องการต่อสตริง แต่@Arthur ชี้ให้เห็นว่าjoinเร็วกว่าถ้าคุณต้องการเข้าร่วมสตริงด้วยตัวคั่น อัปเดต - 2020 Chrome: Array joinเกือบจะ2 times fasterเป็น String concat + See: https://stackoverflow.com/a/54970240/984471 หมายเหตุ: อาร์เรย์joinจะดีกว่าถ้าคุณมีlarge strings หากเราต้องการสร้างseveral small stringsในผลลัพธ์สุดท้ายจะเป็นการดีกว่าที่จะใช้การต่อสตริง+เนื่องจากมิฉะนั้นการใช้ Array จะต้องมีการแปลง Array to String หลายรายการในตอนท้ายซึ่งเป็นประสิทธิภาพที่เกินพิกัด

2
เมื่อใดจึงควรใช้ ko.utils.unwrapObservable?
ฉันได้เขียนการผูกแบบกำหนดเองโดยใช้ KnockoutJS ฉันยังไม่แน่ใจว่าเมื่อใดควรใช้ko.utils.unwrapObservable(item)การตรวจสอบโค้ดโดยทั่วไปการโทรนั้นจะตรวจสอบว่าitemเป็นสิ่งที่สังเกตได้หรือไม่ ถ้าเป็นเช่นนั้นให้ส่งคืนค่า () หากไม่ใช่ให้ส่งคืนค่า เมื่อดูที่หัวข้อ Knockout เกี่ยวกับการสร้างการเชื่อมโยงที่กำหนดเองพวกเขามีไวยากรณ์ต่อไปนี้: var value = valueAccessor(), allBindings = allBindingsAccessor(); var valueUnwrapped = ko.utils.unwrapObservable(value); ในกรณีนี้พวกเขาจะเรียกสิ่งที่สังเกตได้ผ่านทาง()แต่จะเรียกko.utils.unwrapObservableด้วย ฉันแค่พยายามจับใจความเมื่อจะใช้อย่างใดอย่างหนึ่งกับอีกอันหนึ่งหรือว่าฉันควรทำตามรูปแบบข้างต้นเสมอและใช้ทั้งสองอย่าง

3
ReactJS: การสร้างแบบจำลองการเลื่อนแบบไม่มีที่สิ้นสุดแบบสองทิศทาง
แอปพลิเคชันของเราใช้การเลื่อนแบบไม่มีที่สิ้นสุดเพื่อนำทางรายการที่แตกต่างกันจำนวนมาก มีริ้วรอยเล็กน้อย: เป็นเรื่องปกติที่ผู้ใช้ของเราจะมีรายการ 10,000 รายการและต้องเลื่อนดู 3k + สิ่งเหล่านี้เป็นรายการที่สมบูรณ์ดังนั้นเราจึงมีเพียงไม่กี่ร้อยรายการใน DOM ก่อนที่ประสิทธิภาพของเบราว์เซอร์จะไม่เป็นที่ยอมรับ รายการมีความสูงแตกต่างกัน รายการอาจมีรูปภาพและเราอนุญาตให้ผู้ใช้ข้ามไปยังวันที่ที่ระบุ นี่เป็นเรื่องยุ่งยากเนื่องจากผู้ใช้สามารถข้ามไปยังจุดหนึ่งในรายการที่เราต้องโหลดภาพเหนือวิวพอร์ตซึ่งจะดันเนื้อหาลงเมื่อโหลด ไม่สามารถจัดการได้นั่นหมายความว่าผู้ใช้อาจข้ามไปยังวันที่ แต่จะถูกเลื่อนไปเป็นวันที่ก่อนหน้านี้ โซลูชันที่เป็นที่รู้จักและไม่สมบูรณ์: ( react-infinite-scroll ) - นี่เป็นเพียงคอมโพเนนต์ "โหลดมากขึ้นเมื่อเรากดด้านล่าง" มันไม่ได้คัดแยก DOM ใด ๆ ออกไปดังนั้นมันจะตายในหลายพันรายการ ( ตำแหน่งการเลื่อนด้วยปฏิกิริยา ) - แสดงวิธีการจัดเก็บและเรียกคืนตำแหน่งการเลื่อนเมื่อใส่ที่ด้านบนหรือแทรกที่ด้านล่าง แต่ไม่ใช่ทั้งสองอย่างพร้อมกัน ฉันไม่ได้มองหาโค้ดสำหรับโซลูชันที่สมบูรณ์ (แม้ว่าจะดีมากก็ตาม) แต่ฉันกำลังมองหา "วิธีตอบสนอง" เพื่อจำลองสถานการณ์นี้ สถานะตำแหน่งเลื่อนหรือไม่? ฉันควรติดตามสถานะใดเพื่อรักษาตำแหน่งของฉันไว้ในรายการ ฉันต้องเก็บสถานะอะไรเพื่อที่จะทริกเกอร์การเรนเดอร์ใหม่เมื่อฉันเลื่อนไปใกล้ด้านล่างหรือด้านบนของสิ่งที่แสดงผล

11
WebRTC - การถ่ายทอดสดสตรีม / มัลติคาสติ้งที่ปรับขนาดได้
ปัญหา: WebRTC ช่วยให้เราสามารถเชื่อมต่อวิดีโอ / เสียงแบบเพียร์ทูเพียร์ เหมาะสำหรับการโทรแบบ p2p แฮงเอาท์ แต่สิ่งที่เกี่ยวกับการแพร่ภาพ (หนึ่งต่อกลุ่มเช่น 1 ต่อ 10,000)? สมมติว่าเรามีผู้ออกอากาศ "B" และผู้เข้าร่วมสองคน "A1", "A2" แน่นอนว่ามันดูเหมือนจะแก้ได้: เราแค่เชื่อม B กับ A1 แล้วก็ B กับ A2 ดังนั้น B จึงส่งสตรีมวิดีโอ / เสียงโดยตรงไปยัง A1 และสตรีมอื่นไปยัง A2 B ส่งสตรีมสองครั้ง ลองนึกภาพว่ามีผู้เข้าร่วม 10,000 คน: A1, A2, ... , A10000 หมายความว่า B ต้องส่งสตรีม 10,000 สตรีม …


21
แทนที่อักขระที่เน้นเสียงทั้งหมดในสตริงได้อย่างมีประสิทธิภาพหรือไม่
สำหรับการใช้งานการเรียงลำดับที่ใกล้เคียงกับการเรียงลำดับที่ถูกต้องของคนยากจนในฝั่งไคลเอ็นต์ฉันต้องการฟังก์ชัน JavaScript ที่แทนที่อักขระเดี่ยวที่มีประสิทธิภาพในสตริง นี่คือสิ่งที่ฉันหมายถึง (โปรดทราบว่าสิ่งนี้ใช้กับข้อความภาษาเยอรมันภาษาอื่น ๆ จัดเรียงต่างกัน): การเรียงลำดับดั้งเดิมทำให้มันผิด: abcouz äöü การเรียงลำดับที่ถูกต้องจะเป็น: a ä bco ö u ü z โดยทั่วไปฉันต้องการให้เกิด "ä" ของสตริงที่กำหนดให้แทนที่ด้วย "a" (และอื่น ๆ ) ด้วยวิธีนี้ผลลัพธ์ของการเรียงลำดับแบบเนทีฟจะใกล้เคียงกับสิ่งที่ผู้ใช้คาดหวัง (หรือสิ่งที่ฐานข้อมูลจะส่งคืน) ภาษาอื่น ๆ ที่มีสิ่งอำนวยความสะดวกในการทำเพียงว่าอุปกรณ์หลามstr.translate()ในPerl มีtr/…/…/ , XPath มีฟังก์ชั่นtranslate() , ColdFusion ReplaceList()มี แล้ว JavaScript ล่ะ? นี่คือสิ่งที่ฉันมีในตอนนี้ // s would be a rather short string (something …


6
Webpack 4 - วิธีกำหนดค่าย่อเล็กสุด?
Webpack 4 มาพร้อมกับคำสั่งต่อไปนี้: webpack.optimize.UglifyJsPlugin ถูกลบออกแล้วโปรดใช้ config.optimization.minimize แทน พอใช้ แต่ฉันไม่พบข้อมูลใด ๆ เกี่ยวกับการกำหนดค่าอินสแตนซ์ UglifyJsPlugin ที่ทำงานภายใต้ประทุนตัวอย่างเช่นเพื่อเปลี่ยนไดเรกทอรีแคช สามารถทำได้หรือไม่?


8
เปลี่ยนสีข้อความตามความสว่างของพื้นที่พื้นหลังที่ปกคลุม?
ฉันคิดเกี่ยวกับสิ่งต่อไปนี้มาระยะหนึ่งแล้วดังนั้นตอนนี้ฉันต้องการทราบความคิดเห็นของคุณวิธีแก้ปัญหาที่เป็นไปได้และอื่น ๆ ฉันกำลังมองหาปลั๊กอินหรือเทคนิคที่เปลี่ยนสีของข้อความหรือสลับระหว่างรูปภาพ / ไอคอนที่กำหนดไว้ล่วงหน้าขึ้นอยู่กับความสว่างเฉลี่ยของพิกเซลที่ครอบคลุมของภาพพื้นหลังหรือสีของผู้ปกครอง หากพื้นที่ปกคลุมของพื้นหลังค่อนข้างมืดให้ทำให้ข้อความเป็นสีขาวหรือเปลี่ยนไอคอน นอกจากนี้จะเป็นการดีมากหากสคริปต์จะสังเกตเห็นว่าพาเรนต์ไม่มีการกำหนดสีพื้นหลังหรือ - รูปภาพจากนั้นจึงค้นหาสิ่งที่ใกล้ที่สุดต่อไป (จากองค์ประกอบหลักถึงองค์ประกอบหลัก .. ) คุณคิดอย่างไรรู้เกี่ยวกับแนวคิดนี้หรือไม่? มีบางอย่างที่คล้ายกันอยู่แล้วหรือไม่? สคริปต์ตัวอย่าง? ไชโยเจ.
114 javascript  jquery  html  css  sass 

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

9
ฉันจะเรียกเมธอดที่มีชื่อแบบไดนามิกใน Javascript ได้อย่างไร
ฉันกำลังดำเนินการสร้าง JavaScript แบบไดนามิกซึ่งจะแทรกลงในหน้าเว็บขณะที่กำลังสร้าง จาวาสคริปต์จะใช้ในการเติมขึ้นอยู่กับตัวเลือกในอีกlistbox listboxเมื่อการเลือกlistboxมีการเปลี่ยนแปลงจะเรียกชื่อเมธอดตามค่าที่เลือกของlistbox. ตัวอย่างเช่น: Listbox1 ประกอบด้วย: Colours Shapes หากColoursถูกเลือกแล้วมันจะเรียกpopulate_Coloursวิธีการที่ populates listboxอื่น เพื่อชี้แจงคำถามของฉัน: ฉันจะpopulate_Coloursโทรใน JavaScript ได้อย่างไร

5
การแก้ไขสตริงแบบสอบถามโดยไม่ต้องโหลดหน้าซ้ำ
ฉันกำลังสร้างแกลเลอรีรูปภาพและต้องการที่จะเปลี่ยนสตริงการสืบค้นและชื่อเรื่องเมื่อมีการเรียกดูรูปภาพ พฤติกรรมที่ฉันกำลังมองหามักจะเห็นได้จากการใช้งานเพจต่อเนื่อง / ไม่มีที่สิ้นสุดโดยที่ในขณะที่คุณเลื่อนสตริงการค้นหาลงจะเพิ่มหมายเลขหน้า ( http://x.com?page=4 ) เป็นต้นซึ่งควรจะเป็น ตามหลักทฤษฎี แต่ฉันต้องการสิ่งที่ปลอดภัยในเบราว์เซอร์หลัก ๆ ฉันพบโพสต์ที่ยอดเยี่ยมนี้และพยายามทำตามตัวอย่างด้วยwindow.history.pushstateแต่ดูเหมือนจะไม่ได้ผลสำหรับฉัน และฉันไม่แน่ใจว่าจะเหมาะหรือไม่เพราะฉันไม่สนใจเกี่ยวกับการแก้ไขประวัติเบราว์เซอร์ ฉันแค่ต้องการให้สามารถบุ๊กมาร์กรูปภาพที่ดูอยู่ในปัจจุบันโดยไม่ต้องโหลดหน้าซ้ำทุกครั้งที่มีการเปลี่ยนแปลงรูปภาพ นี่คือตัวอย่างของเพจที่ไม่มีที่สิ้นสุดที่แก้ไขสตริงการสืบค้น: http://tumbledry.org/ UPDATEพบวิธีนี้: window.location.href = window.location.href + '#abc'; ดูเหมือนว่าจะใช้ได้สำหรับฉัน แต่ฉันใช้ Chrome ใหม่ .. มันอาจจะทำให้เกิดปัญหากับเบราว์เซอร์รุ่นเก่าหรือไม่

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