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

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

3
โซนตายชั่วคราวคืออะไร
ฉันได้ยินมาว่าการเข้าถึงletและconstค่านิยมก่อนที่จะเริ่มต้นสามารถทำให้เกิดReferenceErrorเพราะสิ่งที่เรียกว่าเขตตายชั่วคราวเขตตายชั่วคราว โซนตายชั่วคราวคืออะไรมันเกี่ยวข้องกับขอบเขตและการชักรอกอย่างไรและในสถานการณ์ใดที่พบ

6
การเรียกใช้สคริปต์ NPM ตามลำดับ
สมมติว่าฉันมี "scripts": { "pre-build": "echo \"Welcome\" && exit 1", "build_logic": "start cmd.exe @cmd /k \"yo esri-appbuilder-js:widget && exit 1\"", "post_build": "start C:\\WebAppBuilderForArcGIS\\startupShortcut", "exit" : "start cmd.exe @cmd /k \"echo \"goodbye\" && exit 1\"" }, ฉันสามารถเรียกใช้คำสั่ง NPM ใดเพื่อให้สคริปต์ทั้งหมดเหล่านี้เปิดตามลำดับ เมื่อฉันใช้การแก้ไขล่วงหน้า / โพสต์พวกเขาจะเปิดตัวตามลำดับ แต่พวกเขาไม่รอให้สคริปต์หลักดำเนินการให้เสร็จก่อนที่จะดำเนินการ ฉันสมมติว่าวิธีแก้ปัญหาเดียวคือ: ฉันจะได้รับงาน Gulp เพื่อดำเนินการตามลำดับเมื่อยิงคำสั่งเชลล์ในฟังก์ชันผู้ช่วย async.series ได้อย่างไร ? ฉันรู้ว่าสิ่งนี้สามารถทำได้ด้วย Gulp …
150 javascript  node.js  npm  cmd 

16
create-react-app นำเข้าข้อ จำกัด นอกไดเรกทอรี src
ฉันใช้ create-react-app ฉันพยายามโทรภาพจากโฟลเดอร์สาธารณะของฉันจากไฟล์ในsrc/componentsตัว ฉันได้รับข้อความแสดงข้อผิดพลาดนี้ ./src/components/website_index.js ไม่พบโมดูล: คุณพยายามที่จะนำเข้า ../../public/images/logo/WC-BlackonWhite.jpg ซึ่งอยู่นอกไดเรกทอรีโครงการ src / ไม่รองรับการนำเข้าญาตินอก src / คุณสามารถย้ายภายใน src / หรือเพิ่ม symlink ลงใน node_modules / ของโครงการ import logo from '../../public/images/logo_2016.png'; <img className="Header-logo" src={logo} alt="Logo" /> ฉันได้อ่านหลายสิ่งหลายอย่างที่บอกว่าคุณสามารถนำเข้าเส้นทาง แต่นั่นก็ยังไม่ทำงานสำหรับฉัน ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก. ฉันรู้ว่ามีคำถามมากมายเช่นนี้ แต่พวกเขากำลังบอกให้ฉันนำเข้าโลโก้หรือรูปภาพดังนั้นฉันจึงพลาดอะไรบางอย่างในภาพรวม

4
getMonth ใน javascript ให้เดือนก่อนหน้า
ฉันใช้ datepicker ซึ่งให้วันที่ในรูปแบบอา. 7 ก.ค. 00:00:00 EDT 2013 แม้ว่าเดือนนั้นจะบอกว่ากรกฎาคม แต่ถ้าฉันทำ getMonth มันจะให้ข้อมูลของเดือนก่อนหน้า var d1 = new Date("Sun Jul 7 00:00:00 EDT 2013"); d1.getMonth());//gives 6 instead of 7 ผมทำอะไรผิดหรือเปล่า?
150 javascript  date 

2
ค่าเริ่มต้นสำหรับอุปกรณ์ประกอบฉาก Vue และวิธีตรวจสอบว่าผู้ใช้ไม่ได้ตั้งค่าเสาหรือไม่?
1.ฉันจะตั้งค่าเริ่มต้นสำหรับส่วนประกอบ prop ใน Vue 2 ได้อย่างไร? ตัวอย่างเช่นมีmoviesองค์ประกอบง่ายๆที่สามารถใช้ในลักษณะนี้: <movies year="2016"><movies> Vue.component('movies', { props: ['year'], template: '#movies-template', ... } แต่หากผู้ใช้ไม่ได้ระบุyear: <movies></movies> จากนั้นส่วนประกอบจะใช้ค่าเริ่มต้นสำหรับyearเสา 2.วิธีใดที่ดีที่สุดในการตรวจสอบว่าผู้ใช้ไม่ได้ตั้งเสาหรือไม่? นี่เป็นวิธีที่ดีไหม: if (this.year != null) { // do something } หรืออาจจะเป็น: if (!this.year) { // do something } เหรอ?

6
วิธีการสร้างอินสแตนซ์อ็อบเจ็กต์ไฟล์ใน JavaScript
มีFileวัตถุใน JavaScript ฉันต้องการสร้างอินสแตนซ์เพื่อวัตถุประสงค์ในการทดสอบ ฉันได้ลองnew File()แล้ว แต่ได้รับข้อผิดพลาด "ตัวสร้างที่ผิดกฎหมาย" เป็นไปได้ไหมที่จะสร้างFileวัตถุ? การอ้างอิง File Object: https://developer.mozilla.org/en/DOM/File

5
หลังจากส่งแบบฟอร์ม POST ให้เปิดหน้าต่างใหม่เพื่อแสดงผลลัพธ์
คำขอโพสต์ JavaScript เช่นส่งแบบฟอร์มแสดงวิธีส่งแบบฟอร์มที่คุณสร้างผ่าน POST ใน JavaScript ด้านล่างคือรหัสที่แก้ไขแล้วของฉัน var form = document.createElement("form"); form.setAttribute("method", "post"); form.setAttribute("action", "test.jsp"); var hiddenField = document.createElement("input"); hiddenField.setAttribute("name", "id"); hiddenField.setAttribute("value", "bob"); form.appendChild(hiddenField); document.body.appendChild(form); // Not entirely sure if this is necessary form.submit(); สิ่งที่ฉันต้องการจะทำคือเปิดผลลัพธ์ในหน้าต่างใหม่ ฉันกำลังใช้สิ่งนี้เพื่อเปิดหน้าในหน้าต่างใหม่: onclick = window.open(test.html, '', 'scrollbars=no,menubar=no,height=600,width=800,resizable=yes,toolbar=no,status=no');
149 javascript  html  post 

24
ตรวจพบว่าเบราว์เซอร์ไม่มีเมาส์และเป็นแบบสัมผัสเท่านั้น
ฉันกำลังพัฒนาเว็บแอพ (ไม่ใช่เว็บไซต์ที่มีหน้าข้อความที่น่าสนใจ) พร้อมอินเทอร์เฟซสำหรับการสัมผัสที่แตกต่างกันมาก (นิ้วของคุณซ่อนหน้าจอเมื่อคุณคลิก) และเมาส์ (อาศัยการแสดงตัวอย่างแบบโฮเวอร์มาก) ฉันจะตรวจสอบได้อย่างไรว่าผู้ใช้ของฉันไม่มีเมาส์ที่จะนำเสนออินเตอร์เฟซที่ถูกต้องกับเขา ฉันวางแผนที่จะออกจากสวิตช์สำหรับผู้ที่มีทั้งเมาส์และสัมผัส (เช่นสมุดบันทึกบางส่วน) ความสามารถในการแตะเหตุการณ์ในเบราว์เซอร์ไม่ได้หมายความว่าผู้ใช้กำลังใช้อุปกรณ์สัมผัส (ตัวอย่างเช่น Modernizr ไม่ได้ตัด) รหัสที่ตอบคำถามอย่างถูกต้องควรกลับเท็จถ้าอุปกรณ์มีเม้าส์จริง สำหรับอุปกรณ์ที่มีเม้าส์และการสัมผัสมันควรจะกลับเท็จ (ไม่ได้สัมผัสเท่านั้น) ในฐานะที่เป็นหมายเหตุด้านข้างอินเทอร์เฟซระบบสัมผัสของฉันอาจเหมาะสำหรับอุปกรณ์ที่มีคีย์บอร์ดเท่านั้นดังนั้นจึงไม่มีเมาส์ที่ฉันต้องการตรวจจับ หากต้องการให้ชัดเจนยิ่งขึ้นนี่คือ API ที่ฉันต้องการใช้: // Level 1 // The current answers provide a way to do that. hasTouch(); // Returns true if a mouse is expected. // Note: as explained by the OP, this …
149 javascript  html  touch  mouse 

5
YouTube iframe API: ฉันจะควบคุมผู้เล่น iframe ที่มีอยู่ใน HTML ได้อย่างไร
ฉันต้องการควบคุมผู้เล่น YouTube ที่ใช้ iframe ผู้เล่นนี้จะอยู่ใน HTML อยู่แล้ว แต่ฉันต้องการควบคุมพวกเขาผ่าน JavaScript API ฉันได้อ่านเอกสารประกอบสำหรับ iframe APIซึ่งอธิบายวิธีเพิ่มวิดีโอใหม่ไปยังหน้าด้วย API แล้วควบคุมด้วยฟังก์ชั่นเครื่องเล่น YouTube: var player; function onYouTubePlayerAPIReady() { player = new YT.Player('container', { height: '390', width: '640', videoId: 'u1zgFlCw8Aw', events: { 'onReady': onPlayerReady, 'onStateChange': onPlayerStateChange } }); } รหัสนั้นสร้างวัตถุผู้เล่นใหม่และกำหนดให้กับ 'ผู้เล่น' จากนั้นแทรกเข้าไปใน #container div แล้วฉันจะดำเนินการเกี่ยวกับ 'ผู้เล่น' และโทรplayVideo(), pauseVideo()ฯลฯ …


14
HTML5 Canvas Resize (Downscale) ภาพคุณภาพสูงหรือไม่
ฉันใช้องค์ประกอบผ้าใบ HTML5 เพื่อปรับขนาดภาพฉันเบราว์เซอร์ของฉัน ปรากฎว่ามีคุณภาพต่ำมาก ฉันพบสิ่งนี้: ปิดใช้งานการแก้ไขเมื่อปรับขนาด <canvas>แต่ไม่ช่วยเพิ่มคุณภาพ ด้านล่างนี้คือรหัส css และ js ของฉันรวมถึงรูปภาพที่เรียกว่า Photoshop และปรับขนาดใน Canvas API ฉันต้องทำอย่างไรเพื่อให้ได้คุณภาพสูงสุดเมื่อปรับขนาดรูปภาพในเบราว์เซอร์ หมายเหตุ: ฉันต้องการลดขนาดรูปภาพขนาดใหญ่ลงเป็นรูปภาพขนาดเล็กปรับสีในพื้นที่วาดภาพและส่งผลลัพธ์จากพื้นที่ไปยังเซิร์ฟเวอร์ CSS: canvas, img { image-rendering: optimizeQuality; image-rendering: -moz-crisp-edges; image-rendering: -webkit-optimize-contrast; image-rendering: optimize-contrast; -ms-interpolation-mode: nearest-neighbor; } JS: var $img = $('<img>'); var $originalCanvas = $('<canvas>'); $img.load(function() { var originalContext = $originalCanvas[0].getContext('2d'); originalContext.imageSmoothingEnabled …

1
JSON Hijacking ยังคงมีปัญหาในเบราว์เซอร์รุ่นใหม่หรือไม่?
ฉันใช้ Backbone.js และเว็บเซิร์ฟเวอร์ Tornado พฤติกรรมมาตรฐานสำหรับการรับข้อมูลการเก็บรวบรวมใน Backbone คือการส่งเป็นอาร์เรย์ JSON ในทางกลับกันพฤติกรรมมาตรฐานของ Tornado คือไม่อนุญาตให้ใช้ JSON Array เนื่องจากมีช่องโหว่ดังต่อไปนี้: http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-json-vulnerability.aspx สิ่งที่เกี่ยวข้องคือ: http://haacked.com/archive/2009/06/25/json-hijacking.aspx รู้สึกเป็นธรรมชาติมากขึ้นสำหรับฉันที่จะไม่ต้องห่อ JSON ของฉันไว้ในวัตถุเมื่อเป็นรายการของวัตถุจริงๆ ฉันไม่สามารถทำซ้ำการโจมตีเหล่านี้ในเบราว์เซอร์ที่ทันสมัย ​​(เช่นปัจจุบัน Chrome, Firefox, Safari และ IE9) ในเวลาเดียวกันฉันไม่สามารถยืนยันได้ทุกที่ว่าเบราว์เซอร์ที่ทันสมัยได้แก้ไขปัญหาเหล่านี้แล้ว เพื่อให้แน่ใจว่าฉันเข้าใจผิดไม่ว่าจะเป็นทักษะการเขียนโปรแกรมที่ไม่ดีหรือทักษะ googling ที่ไม่ดี: JSON Hijacking โจมตีเหล่านี้ยังคงมีปัญหาในเบราว์เซอร์ที่ทันสมัยหรือไม่? (หมายเหตุ: ขออภัยในความซ้ำซ้อนที่อาจเกิดขึ้นกับ: เป็นไปได้ที่จะทำ 'JSON hijacking' ในเบราว์เซอร์สมัยใหม่หรือไม่ แต่เนื่องจากคำตอบที่ยอมรับดูเหมือนจะไม่ตอบคำถาม - ฉันคิดว่าถึงเวลาต้องถามอีกครั้ง .)

9
รับค่าพารามิเตอร์สตริงข้อความค้นหาด้วย jQuery / Javascript (การสอบถาม)
ใครรู้วิธีที่ดีในการเขียนนามสกุล jQuery เพื่อจัดการพารามิเตอร์สตริงแบบสอบถาม? โดยทั่วไปฉันต้องการขยาย($)ฟังก์ชั่นเวทย์มนตร์ jQuery ดังนั้นฉันสามารถทำสิ่งนี้: $('?search').val(); ซึ่งจะให้ฉันค่า "ทดสอบ" ใน URL http://www.example.com/index.php?search=testต่อไปนี้: ฉันได้เห็นฟังก์ชั่นมากมายที่สามารถทำได้ใน jQuery และ Javascript แต่จริง ๆ แล้วฉันต้องการที่จะขยาย jQuery ให้ทำงานตามที่แสดงไว้ด้านบน ฉันไม่ได้มองหาปลั๊กอิน jQuery ฉันกำลังมองหาส่วนขยายของวิธี jQuery

6
รับความแตกต่างของเวลาระหว่างสองวันในไม่กี่วินาที
ฉันพยายามที่จะได้รับความแตกต่างระหว่างสองวันในไม่กี่วินาที ตรรกะจะเป็นเช่นนี้: กำหนดวันเริ่มต้นซึ่งจะเป็นตอนนี้; กำหนดวันสุดท้ายซึ่งจะเป็นวันเริ่มต้นบวกจำนวนวินาทีในอนาคต (สมมติว่า 15 ตัวอย่าง) รับความแตกต่างระหว่างสองเหล่านี้ (จำนวนวินาที) เหตุผลที่ฉันทำกับวันที่เป็นเพราะวันที่ / เวลาสุดท้ายขึ้นอยู่กับตัวแปรอื่น ๆ และมันก็ไม่เหมือนเดิม (ขึ้นอยู่กับว่าผู้ใช้ทำอะไรเร็ว) และฉันก็เก็บวันที่เริ่มต้นสำหรับสิ่งอื่น ๆ ฉันพยายามทำสิ่งนี้: var _initial = new Date(), _initial = _initial.setDate(_initial.getDate()), _final = new Date(_initial); _final = _final.setDate(_final.getDate() + 15 / 1000 * 60); var dif = Math.round((_final - _initial) / (1000 * 60)); สิ่งที่ฉันไม่เคยได้รับความแตกต่างที่ถูกต้อง …
149 javascript  date 

7
ตรวจสอบว่าแท็บเบราว์เซอร์โฟกัสหรือไม่
มีวิธีข้ามเบราว์เซอร์ที่เชื่อถือได้ในการตรวจสอบว่าแท็บมีโฟกัสหรือไม่ สถานการณ์คือเรามีแอปพลิเคชันที่สำรวจความคิดเห็นเป็นประจำสำหรับราคาหุ้นและหากหน้าเว็บไม่ได้ให้ความสำคัญเราสามารถหยุดการสำรวจและบันทึกเสียงการจราจรทุกคนโดยเฉพาะอย่างยิ่งเมื่อผู้คนเป็นแฟนของการเปิดแท็บต่างๆ คือwindow.onblurและwindow.onfocusตัวเลือกสำหรับการนี้อยู่แล้ว?

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