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

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


7
วิธีเปิดไฟล์โลคัลดิสก์ด้วย JavaScript
ฉันพยายามเปิดไฟล์ด้วย window.open("file:///D:/Hello.txt"); เบราว์เซอร์ไม่อนุญาตให้เปิดไฟล์ภายในเครื่องด้วยวิธีนี้อาจเป็นเพราะเหตุผลด้านความปลอดภัย ฉันต้องการใช้ข้อมูลของไฟล์ในฝั่งไคลเอ็นต์ ฉันจะอ่านไฟล์ในเครื่องใน JavaScript ได้อย่างไร?
155 javascript 

30
ฉันจะปิดป็อปโอเวอร์ Twitter Bootstrap ด้วยการคลิกจากที่ใดก็ได้ (อื่น ๆ ) บนหน้าได้อย่างไร
ฉันกำลังใช้ป๊อปอัปกับ Twitter Bootstrap ซึ่งริเริ่มขึ้นดังนี้: $('.popup-marker').popover({ html: true, trigger: 'manual' }).click(function(e) { $(this).popover('toggle'); e.preventDefault(); }); อย่างที่คุณเห็นพวกมันจะถูกเรียกใช้งานด้วยตนเองและคลิกที่. popup-marker (ซึ่งเป็น div ที่มีภาพพื้นหลัง) เพื่อเปิดป๊อปอัป สิ่งนี้ใช้งานได้ดี แต่ฉันต้องการที่จะสามารถปิดป๊อปโอเวอร์ด้วยการคลิกที่ใดก็ได้บนหน้าเว็บ (แต่ไม่ใช่ในป๊อปโอเวอร์เอง!) ฉันได้ลองทำสิ่งต่าง ๆ รวมถึงรายการต่อไปนี้ แต่ไม่มีผลลัพธ์ที่จะแสดง: $('body').click(function(e) { $('.popup-marker').popover('hide'); }); ฉันจะปิด popover ด้วยการคลิกที่ใดก็ได้บนหน้าเว็บ แต่จะไม่ปิดคลิกด้วยตัวเอง

16
วันที่ไม่ถูกต้องในซาฟารี
alert(new Date('2010-11-29')); โครเมี่ยม ff ไม่มีปัญหากับสิ่งนี้ แต่ซาฟารีร้องว่า "วันที่ไม่ถูกต้อง" ทำไม แก้ไข: ตกลงตามความคิดเห็นด้านล่างฉันใช้การแยกสตริงและลองนี้: alert(new Date('11-29-2010')); //doesn't work in safari alert(new Date('29-11-2010')); //doesn't work in safari alert(new Date('2010-29-11')); //doesn't work in safari แก้ไข Mar 22 2018 : ดูเหมือนว่าผู้คนยังคงลงจอดที่นี่ - วันนี้ฉันจะใช้momentหรือdate-fnsไม่ก็ไปกับมัน Date-fns นั้นไร้ความเจ็บปวดและเบามากเช่นกัน
155 javascript  date  safari 

8
นี่เป็นวิธีที่ดีในการโคลนวัตถุใน ES6 หรือไม่?
Googling สำหรับ "javascript clone object" นำผลลัพธ์ที่แปลกจริง ๆ มาใช้บางอันล้าสมัยอย่างสิ้นหวังและบางอันก็ซับซ้อนเกินไปไม่ง่ายเหมือน: let clone = {...original}; มีอะไรผิดปกติกับเรื่องนี้หรือไม่?

9
ฉันจะโหลดเนื้อหาของไฟล์ข้อความลงในตัวแปรจาวาสคริปต์ได้อย่างไร
ฉันมีไฟล์ข้อความในรูทของเว็บแอปของฉันhttp: //localhost/foo.txtและฉันต้องการที่จะโหลดมันลงในตัวแปรใน javascript .. ใน groovy ฉันจะทำสิ่งนี้: def fileContents = 'http://localhost/foo.txt'.toURL().text; println fileContents; ฉันจะรับผลลัพธ์ที่คล้ายกันใน javascript ได้อย่างไร
155 javascript 

11
แผนที่และกรองอาร์เรย์ในเวลาเดียวกัน
ฉันมีอาร์เรย์ของวัตถุที่ฉันต้องการทำซ้ำเพื่อสร้างอาร์เรย์ที่กรองใหม่ แต่ฉันต้องกรองวัตถุบางอย่างออกจากอาร์เรย์ใหม่ตามพารามิเตอร์ ฉันพยายามทำสิ่งนี้: function renderOptions(options) { return options.map(function (option) { if (!option.assigned) { return (someNewObject); } }); } นั่นเป็นแนวทางที่ดีหรือไม่? มีวิธีที่ดีกว่านี้ไหม? ฉันเปิดให้ใช้ห้องสมุดใด ๆ เช่น lodash
155 javascript  arrays 

23
Javascript - รับอาร์เรย์ของวันที่ระหว่าง 2 วัน
var range = getDates(new Date(), new Date().addDays(7)); ฉันต้องการให้ "range" เป็นอาร์เรย์ของอ็อบเจกต์วันหนึ่งสำหรับแต่ละวันระหว่างสองวัน เคล็ดลับก็คือมันควรจะจัดการกับขอบเขตเดือนและปีเช่นกัน

13
vuejs อัพเดตข้อมูลพาเรนต์จากคอมโพเนนต์ชายด์
ฉันเริ่มเล่นกับ vuejs (2.0) ฉันสร้างหน้าง่าย ๆ ด้วยองค์ประกอบหนึ่งในนั้น เพจมีอินสแตนซ์ Vue หนึ่งอินสแตนซ์พร้อมข้อมูล ในหน้านั้นฉันลงทะเบียนและเพิ่มองค์ประกอบเป็น html input[type=text]องค์ประกอบที่มีหนึ่ง ฉันต้องการให้ค่านั้นสะท้อนถึงแม่ (อินสแตนซ์ Vue หลัก) ฉันจะอัพเดทข้อมูลพาเรนต์ของส่วนประกอบได้อย่างไร ผ่านเสาที่ถูกผูกไว้จากผู้ปกครองไม่ดีและส่งคำเตือนไปยังคอนโซล พวกเขามีบางอย่างในเอกสารของพวกเขา แต่มันไม่ทำงาน

30
เกินขีด จำกัด การโทรสูงสุดเมื่อติดตั้ง npm
ฉันพยายามเรียกใช้npm installนี่เป็นผลลัพธ์จากคอนโซล: npm ERR! Linux 4.8.0-27-generic npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" npm ERR! node v6.9.1 npm ERR! npm v3.10.8 npm ERR! Maximum call stack size exceeded npm ERR! npm ERR! If you need help, you may report this error at: npm ERR! <https://github.com/npm/npm/issues> และนี่คือเนื้อหาของnpm-debug.log: 113791 verbose stack RangeError: Maximum …
155 javascript  node.js  npm 

19
ตรวจหาเบราว์เซอร์ Safari
จะตรวจหาเบราว์เซอร์ Safari โดยใช้ JavaScript ได้อย่างไร? ฉันได้ลองใช้รหัสด้านล่างและตรวจพบไม่เพียง แต่ Safari เท่านั้น แต่ยังรวมถึงเบราว์เซอร์ Chrome ด้วย function IsSafari() { var is_safari = navigator.userAgent.toLowerCase().indexOf('safari/') > -1; return is_safari; }

7
React Hook คำเตือนสำหรับฟังก์ชัน async ที่ใช้งานผล: ฟังก์ชัน useEffect ต้องส่งคืนฟังก์ชันล้างข้อมูลหรือไม่มีอะไรเลย
ฉันกำลังลองuseEffectตัวอย่างด้านล่าง: useEffect(async () => { try { const response = await fetch(`https://www.reddit.com/r/${subreddit}.json`); const json = await response.json(); setPosts(json.data.children.map(it => it.data)); } catch (e) { console.error(e); } }, []); และฉันได้รับคำเตือนนี้ในคอนโซลของฉัน แต่การล้างข้อมูลเป็นทางเลือกสำหรับการเรียก async ที่ฉันคิด ฉันไม่แน่ใจว่าทำไมฉันถึงได้รับคำเตือนนี้ ตัวอย่างการเชื่อมโยงแซนด์บ็อกซ์ https://codesandbox.io/s/24rj871r0p

15
วิธีการย่อข้อความตามเงื่อนไขของฉันให้สั้นลง
ฉันมีคำสั่งที่มีเงื่อนไขยาวมากดังต่อไปนี้: if(test.type == 'itema' || test.type == 'itemb' || test.type == 'itemc' || test.type == 'itemd'){ // do something. } ฉันสงสัยว่าถ้าฉันสามารถ refactor การแสดงออก / คำสั่งนี้ในรูปแบบที่กระชับมากขึ้น ความคิดเกี่ยวกับวิธีการบรรลุสิ่งนี้?


14
จะตรวจสอบได้อย่างไรว่า DST (Daylight Saving Time) มีผลบังคับใช้หรือไม่และมีการชดเชยหรือไม่
นี่เป็นรหัส JS ของฉันซึ่งจำเป็นต้องใช้: var secDiff = Math.abs(Math.round((utc_date-this.premiere_date)/1000)); this.years = this.calculateUnit(secDiff,(86400*365)); this.days = this.calculateUnit(secDiff-(this.years*(86400*365)),86400); this.hours = this.calculateUnit((secDiff-(this.years*(86400*365))-(this.days*86400)),3600); this.minutes = this.calculateUnit((secDiff-(this.years*(86400*365))-(this.days*86400)-(this.hours*3600)),60); this.seconds = this.calculateUnit((secDiff-(this.years*(86400*365))-(this.days*86400)-(this.hours*3600)-(this.minutes*60)),1); ฉันต้องการรับ datetime ใน "ที่ผ่านมา" แต่ถ้า DST ถูกใช้งานแล้ววันที่จะถูกปิดโดย 1 ชั่วโมง ฉันไม่ทราบวิธีตรวจสอบว่า DST มีผลบังคับใช้หรือไม่ ฉันจะรู้ได้อย่างไรว่าการเลื่อนเวลากลางวันเริ่มต้นและสิ้นสุดลงอย่างไร
154 javascript  dst 

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