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

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

6
ไคลเอ็นต์บนโหนด: Uncaught ReferenceError: require ไม่ได้ถูกกำหนดไว้
ดังนั้นฉันกำลังเขียนแอปพลิเคชันที่มีโหนด / express + jade combo ฉันมีclient.jsซึ่งโหลดบนไคลเอนต์ ในไฟล์นั้นฉันมีรหัสที่เรียกใช้ฟังก์ชันจากไฟล์ JavaScript อื่น ๆ ความพยายามของฉันคือการใช้ var m = require('./messages'); เพื่อที่จะโหลดเนื้อหาของmessages.js(เช่นเดียวกับที่ฉันทำในฝั่งเซิร์ฟเวอร์) และต่อมาในฟังก์ชั่นการโทรจากไฟล์นั้น แต่ไม่ได้กำหนดไว้ในฝั่งไคลเอ็นต์และมันจะพ่นข้อผิดพลาดของแบบฟอร์มrequireUncaught ReferenceError: require is not defined ไฟล์ JS อื่น ๆ เหล่านี้ยังโหลดในรันไทม์ที่ไคลเอนต์เพราะฉันวางลิงค์ที่ส่วนหัวของหน้าเว็บ ดังนั้นไคลเอนต์จึงรู้ถึงฟังก์ชั่นทั้งหมดที่ส่งออกจากไฟล์อื่นเหล่านี้ ฉันจะเรียกใช้ฟังก์ชันเหล่านี้จากไฟล์ JS อื่น ๆ เหล่านี้ (เช่นmessages.js) ในclient.jsไฟล์หลักที่เปิดซ็อกเก็ตไปยังเซิร์ฟเวอร์ได้อย่างไร

11
ReactJS การสื่อสารสององค์ประกอบ
ฉันเพิ่งเริ่มต้นกับ ReactJS และฉันติดอยู่กับปัญหาที่ฉันมี แอปพลิเคชันของฉันเป็นรายการที่มีตัวกรองและปุ่มเพื่อเปลี่ยนเค้าโครง ในขณะที่ฉันใช้สามองค์ประกอบ<list />, < Filters />และ<TopBar />ตอนนี้เห็นได้ชัดว่าเมื่อฉันเปลี่ยนการตั้งค่าใน< Filters />ฉันต้องการที่จะเรียกวิธีการบางอย่างในการ<list />ที่จะปรับปรุงมุมมองของฉัน ฉันจะทำให้ 3 องค์ประกอบเหล่านี้มีปฏิสัมพันธ์ซึ่งกันและกันหรือฉันต้องการแบบจำลองข้อมูลส่วนกลางบางประเภทที่ฉันสามารถเปลี่ยนแปลงได้อย่างไร


15
คำนวณระยะทางระหว่างจุดสองจุดใน Google แผนที่ V3
Наэтотвопросестьответына กองมากเกินнарусском : Какопределятьближайшиемаркеры? คุณจะคำนวณระยะห่างระหว่างสองเครื่องหมายใน Google แมป V3 ได้อย่างไร (คล้ายกับdistanceFromฟังก์ชั่น inV2) ขอบคุณ ..

11
ฉันจะวัดเวลาดำเนินการของโค้ด JavaScript ด้วยการโทรกลับได้อย่างไร
ฉันมีรหัสจาวาสคริปต์ที่ฉันกำลังใช้งานโดยใช้node.jsล่าม for(var i = 1; i < LIMIT; i++) { var user = { id: i, name: "MongoUser [" + i + "]" }; db.users.save(user, function(err, saved) { if(err || !saved) { console.log("Error"); } else { console.log("Saved"); } }); } ฉันจะวัดเวลาที่ใช้โดยการดำเนินการแทรกฐานข้อมูลเหล่านี้ได้อย่างไร ฉันสามารถคำนวณความแตกต่างของค่าวันที่หลังและก่อนรหัสชิ้นนี้ แต่จะไม่ถูกต้องเนื่องจากลักษณะไม่ตรงกันของรหัส

27
วิธีจัดการกับการเชื่อมโยงแฮช Anchor ใน AngularJS
คุณใด ๆ รู้วิธีจัดการการเชื่อมโยงแฮ็กสมอในAngularJS ? ฉันมีมาร์กอัปต่อไปนี้สำหรับหน้าคำถามที่พบบ่อยอย่างง่าย <a href="#faq-1">Question 1</a> <a href="#faq-2">Question 2</a> <a href="#faq-3">Question 3</a> <h3 id="faq-1">Question 1</h3> <h3 id="faq-2">Question 2</h3> <h3 id="fa1-3">Question 3</h3> เมื่อคลิกที่ลิงค์ด้านบนใด ๆ AngularJS จะสกัดกั้นและกำหนดเส้นทางให้ฉันไปยังหน้าอื่นอย่างสมบูรณ์ (ในกรณีของฉันหน้า 404 เนื่องจากไม่มีเส้นทางที่ตรงกับลิงก์) ความคิดแรกของฉันคือการสร้างการจับคู่เส้นทาง " / faq /: ตอน " และในการตรวจสอบตัวควบคุมที่เกี่ยวข้อง$routeParams.chapterหลังจากองค์ประกอบที่ตรงกันแล้วใช้ jQuery เพื่อเลื่อนลงไป แต่แล้ว AngularJS ก็มาหาฉันอีกแล้วเลื่อนไปที่ด้านบนของหน้า ดังนั้นทุกคนที่นี่ทำสิ่งที่คล้ายกันในอดีตและรู้วิธีแก้ปัญหาที่ดีหรือไม่ แก้ไข: การเปลี่ยนเป็น html5Mode ควรแก้ปัญหาของฉัน แต่เราต้องรองรับ IE8 …

7
การดำเนินการที่สามใน CoffeeScript
ฉันจำเป็นต้องตั้งค่าให้เป็นไปaตามเงื่อนไข วิธีที่สั้นที่สุดในการทำเช่นนี้กับ CoffeeScript คืออะไร เช่นนี้เป็นวิธีที่ฉันจะทำใน JavaScript: a = true ? 5 : 10 # => a = 5 a = false ? 5 : 10 # => a = 10

6
ดาวน์โหลดไฟล์จาก NodeJS Server โดยใช้ Express
ฉันจะดาวน์โหลดไฟล์ที่อยู่ในเซิร์ฟเวอร์ของฉันไปยังเครื่องของฉันเข้าถึงหน้าในเซิร์ฟเวอร์ nodeJS ได้อย่างไร ฉันกำลังใช้ ExpressJS และฉันลองทำสิ่งนี้แล้ว: app.get('/download', function(req, res){ var file = fs.readFileSync(__dirname + '/upload-folder/dramaticpenguin.MOV', 'binary'); res.setHeader('Content-Length', file.length); res.write(file, 'binary'); res.end(); }); แต่ฉันไม่สามารถรับชื่อไฟล์และประเภทไฟล์ (หรือนามสกุล) มีใครช่วยฉันได้บ้าง

10
jQuery ลูกคนแรกของ“ นี่”
ฉันพยายามส่ง "สิ่งนี้" จากช่วงการคลิกไปยังฟังก์ชัน jQuery ที่สามารถเรียกใช้ jQuery กับลูกคนแรกขององค์ประกอบที่ถูกคลิกนั้นได้ ดูเหมือนจะไม่ถูกต้อง ... <p onclick="toggleSection($(this));"><span class="redClass"></span></p> javascript: function toggleSection(element) { element.toggleClass("redClass"); } ฉันจะอ้างอิงถึง: ลูกคนแรกขององค์ประกอบได้อย่างไร

8
$ ดูวัตถุ
ฉันต้องการดูการเปลี่ยนแปลงในพจนานุกรม แต่ด้วยเหตุผลบางประการการโทรกลับไม่ได้รับการโทร นี่คือคอนโทรลเลอร์ที่ฉันใช้: function MyController($scope) { $scope.form = { name: 'my name', surname: 'surname' } $scope.$watch('form', function(newVal, oldVal){ console.log('changed'); }); } นี่คือไวโอลิน ฉันคาดว่าจะได้รับเงิน $ watchbackback ในการเปลี่ยนชื่อหรือนามสกุลทุกครั้ง แต่จะไม่เกิดขึ้น วิธีที่ถูกต้องในการทำคืออะไร?

8
ฉันจะกำหนดตัวแปรทั่วโลกใน CoffeeScript ได้อย่างไร
บน Coffeescript.org: bawbag = (x, y) -> z = (x * y) bawbag(5, 10) จะรวบรวมเพื่อ: var bawbag; bawbag = function(x, y) { var z; return (z = (x * y)); }; bawbag(5, 10); รวบรวมผ่าน coffee-script ภายใต้ node.js ล้อมรอบด้วย: (function() { var bawbag; bawbag = function(x, y) { var z; return …

12
วิธีการเพิ่มวัตถุลงในอาร์เรย์
ฉันจะเพิ่มวัตถุลงในอาร์เรย์ได้อย่างไร (ใน javascript หรือ jquery) ตัวอย่างเช่นปัญหาของรหัสนี้คืออะไร function(){ var a = new array(); var b = new object(); a[0]=b; } ฉันต้องการใช้รหัสนี้เพื่อบันทึกวัตถุจำนวนมากในอาร์เรย์ของ function1 และเรียก function2 เพื่อใช้วัตถุในอาร์เรย์ ฉันจะบันทึกวัตถุในอาร์เรย์ได้อย่างไร ฉันจะวางวัตถุลงในอาร์เรย์และบันทึกลงในตัวแปรได้อย่างไร

16
ใช้ HTML5 / JavaScript เพื่อสร้างและบันทึกไฟล์
ฉันเล่นซอกับ WebGL เมื่อเร็ว ๆ นี้และได้รับผู้อ่าน Collada ทำงาน ปัญหาคือมันค่อนข้างช้า (Collada เป็นรูปแบบ verbose มาก) ดังนั้นฉันจะเริ่มแปลงไฟล์เป็นรูปแบบที่ใช้ง่ายขึ้น (อาจเป็น JSON) ฉันมีรหัสในการแยกวิเคราะห์ไฟล์ใน JavaScript แล้วดังนั้นฉันอาจใช้เป็นผู้ส่งออกของฉันด้วยเช่นกัน! ปัญหากำลังบันทึก ตอนนี้ฉันรู้ว่าฉันสามารถแยกไฟล์ส่งผลลัพธ์ไปยังเซิร์ฟเวอร์และให้เบราว์เซอร์ร้องขอไฟล์กลับจากเซิร์ฟเวอร์เพื่อดาวน์โหลด แต่ในความเป็นจริงแล้วเซิร์ฟเวอร์ไม่มีส่วนเกี่ยวข้องกับกระบวนการนี้ดังนั้นทำไมจึงมีส่วนร่วม ฉันมีเนื้อหาของไฟล์ที่ต้องการในหน่วยความจำแล้ว มีวิธีใดบ้างที่ฉันสามารถให้ผู้ใช้ดาวน์โหลดโดยใช้ JavaScript บริสุทธิ์? (ฉันสงสัยมัน แต่อาจถาม ... ) และชัดเจน: ฉันไม่พยายามเข้าถึงระบบไฟล์โดยที่ผู้ใช้ไม่รู้ตัว! ผู้ใช้จะให้ไฟล์ (อาจผ่านการลากและวาง) สคริปต์จะแปลงไฟล์ในหน่วยความจำและผู้ใช้จะได้รับแจ้งให้ดาวน์โหลดผลลัพธ์ ทั้งหมดนี้ควรเป็นกิจกรรม "ปลอดภัย" เท่าที่เกี่ยวข้องกับเบราว์เซอร์ [แก้ไข]:ฉันไม่ได้พูดถึงมันล่วงหน้าดังนั้นผู้โพสต์ที่ตอบว่า "Flash" นั้นถูกต้องเพียงพอ แต่ส่วนหนึ่งของสิ่งที่ฉันทำคือการพยายามเน้นสิ่งที่สามารถทำได้ด้วย HTML5 บริสุทธิ์ ... ดังนั้น Flash จึงเป็น ทันทีในกรณีของฉัน (แม้ว่ามันจะเป็นคำตอบที่ถูกต้องสมบูรณ์แบบสำหรับทุกคนที่ทำแอพพลิเคชั่นเว็บ "ของจริง") …

10
รับ loop counter / index ใช้สำหรับ ... ของไวยากรณ์ใน JavaScript
ข้อควรระวัง: คำถามยังคงใช้กับfor…ofลูป> อย่าใช้for…inเพื่อวนซ้ำในArrayใช้เพื่อย้ำคุณสมบัติของวัตถุ ที่กล่าวมานี้ ฉันเข้าใจว่าfor…inไวยากรณ์พื้นฐานใน JavaScript มีลักษณะดังนี้: for (var obj in myArray) { // ... } แต่ฉันจะหาตัวนับลูป/ ดัชนีได้อย่างไร ฉันรู้ว่าฉันอาจจะทำสิ่งที่ชอบ: var i = 0; for (var obj in myArray) { alert(i) i++ } หรือแม้กระทั่งผู้เฒ่าที่ดี: for (var i = 0; i < myArray.length; i++) { var obj = myArray[i] alert(i) } แต่ฉันอยากจะใช้for-inวงที่เรียบง่ายกว่า …

18
เสียงประกอบใน JavaScript / HTML5
ฉันกำลังใช้ HTML5 กับเกมโปรแกรม อุปสรรคที่ฉันพบตอนนี้คือวิธีเล่นเอฟเฟกต์เสียง ข้อกำหนดเฉพาะมีจำนวนน้อย: เล่นและผสมเสียงหลาย ๆ เล่นตัวอย่างเดียวกันหลายครั้งอาจเล่นทับกัน ขัดจังหวะการเล่นตัวอย่างทุกจุด ควรเล่นไฟล์ WAV ที่มี PCM แบบดิบ (คุณภาพต่ำ) แต่ฉันสามารถแปลงไฟล์เหล่านี้ได้แน่นอน วิธีแรกของฉันคือการใช้<audio>องค์ประกอบHTML5 และกำหนดเอฟเฟกต์เสียงทั้งหมดในหน้าของฉัน Firefox เล่นไฟล์ WAV เพียงลูกพีช แต่การโทร#playหลายครั้งไม่ได้เล่นตัวอย่างหลาย ๆ ครั้ง จากความเข้าใจของฉันเกี่ยวกับข้อมูลจำเพาะ HTML5 <audio>องค์ประกอบยังติดตามสถานะการเล่นด้วยดังนั้นจึงอธิบายได้ว่าทำไม ความคิดฉับพลันของฉันคือการโคลนองค์ประกอบเสียงดังนั้นฉันจึงสร้างไลบรารี JavaScript ขนาดเล็กต่อไปนี้ขึ้นมาเพื่อทำสิ่งนั้นสำหรับฉัน (ขึ้นอยู่กับ jQuery): var Snd = { init: function() { $("audio").each(function() { var src = this.getAttribute('src'); if (src.substring(0, 4) !== …

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