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

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

25
รูปแบบวันที่ ASP.NET MVC JsonResult
ฉันมีแอคชั่นคอนโทรลเลอร์ที่สามารถคืน JsonResult ของโมเดลของฉันได้อย่างมีประสิทธิภาพ ดังนั้นในวิธีการของฉันฉันมีดังนี้: return new JsonResult(myModel); วิธีนี้ใช้งานได้ดียกเว้นปัญหาเดียว มีคุณสมบัติวันที่ในโมเดลและดูเหมือนว่าจะถูกส่งคืนในผลลัพธ์ Json ดังนี้: "\/Date(1239018869048)\/" ฉันควรจะจัดการกับวันที่เพื่อให้พวกเขากลับมาในรูปแบบที่ฉันต้องการ? หรือฉันจะจัดการรูปแบบนี้ด้านบนในสคริปต์ได้อย่างไร

1
อะไรคือความแตกต่างที่สำคัญระหว่าง Meteor, Ember.js และ Backbone.js [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องการอภิปรายการโต้แย้งการหยั่งเสียงหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา การเรียนรู้ Ember.js / Backbone.js อยู่ในรายการที่ต้องทำของฉันมาระยะหนึ่งแล้ว ตอนนี้Meteorออกไปแล้วฉันแค่สงสัยว่าใครที่มีประสบการณ์เกี่ยวกับ Meteor, Ember.js และ Backbone.js สามารถสรุปความแตกต่างที่สำคัญข้อดีข้อเสียของกรอบ JavaScript ทั้งสามนี้สำหรับบุคคลที่ไม่มีประสบการณ์ใด ๆ เลย โดยเฉพาะฉันอยากจะรู้ว่าภารกิจใดที่แต่ละเฟรมเวิร์กเหมาะกว่าและทำไมคนอื่นถึงไม่ทำงาน แก้ไข: ตอนนี้ฉันอ่าน Meteor เพิ่มเติมเล็กน้อยดูเหมือนว่าจะคล้ายกับ Knockout.js มากกว่า Backbone.js ดังนั้นการเปรียบเทียบกับ Knockout.js ก็ยินดีเช่นกัน

11
Reactjs setState () ด้วยชื่อคีย์แบบไดนามิกหรือไม่
แก้ไข: นี่คือสิ่งซ้ำซ้อนดูที่นี่ ฉันไม่พบตัวอย่างใด ๆ ของการใช้ชื่อคีย์แบบไดนามิกเมื่อตั้งค่าสถานะ นี่คือสิ่งที่ฉันต้องการจะทำ: inputChangeHandler : function (event) { this.setState( { event.target.id : event.target.value } ); }, โดยที่ event.target.id ใช้เป็นรหัสสถานะที่จะอัพเดท สิ่งนี้เป็นไปไม่ได้ในการตอบโต้?

14
เลื่อนไปอย่างราบรื่นเพื่อ div id jQuery
ฉันพยายามเลื่อนดูรหัส jQuery id เพื่อให้ทำงานได้อย่างถูกต้อง จากคำถามล้นสแต็คอื่นฉันลองทำตามนี้ DEMO http://jsfiddle.net/kevinPHPkevin/8tLdq/ $('#myButton').click(function() { $.scrollTo($('#myDiv'), 1000); }); แต่มันไม่ทำงาน มันเพียงแค่ยึดกับ div ฉันก็ลอง $('#myButton').click(function(event) { event.preventDefault(); $.scrollTo($('#myDiv'), 1000); }); ไม่มีความคืบหน้า

30
คุณจะตรวจสอบว่าวัตถุ JavaScript เป็นวัตถุ DOM ได้อย่างไร
ฉันพยายามที่จะได้รับ: document.createElement('div') //=> true {tagName: 'foobar something'} //=> false ในสคริปต์ของตัวเองฉันเคยใช้สิ่งนี้เพราะฉันไม่ต้องการtagNameทรัพย์สิน: if (!object.tagName) throw ...; ดังนั้นสำหรับวัตถุที่สองฉันจึงคิดวิธีแก้ปัญหาอย่างรวดเร็วซึ่งส่วนใหญ่ใช้งานได้ ;) ปัญหาคือขึ้นอยู่กับเบราว์เซอร์ที่บังคับใช้คุณสมบัติอ่านอย่างเดียวซึ่งไม่ได้ทำทั้งหมด function isDOM(obj) { var tag = obj.tagName; try { obj.tagName = ''; // Read-only for DOM, should throw exception obj.tagName = tag; // Restore for normal objects return false; } catch (e) { …
248 javascript  dom  object 

3
นโยบายความปลอดภัยของเนื้อหาทำงานอย่างไร
ฉันได้รับข้อผิดพลาดมากมายในคอนโซลนักพัฒนาซอฟต์แวร์: ปฏิเสธที่จะประเมินสตริง ปฏิเสธที่จะเรียกใช้สคริปต์แบบอินไลน์เนื่องจากละเมิดคำสั่งนโยบายความปลอดภัยเนื้อหาต่อไปนี้ ปฏิเสธที่จะโหลดสคริปต์ ปฏิเสธที่จะโหลดสไตล์ชีท ทั้งหมดนี้เกี่ยวกับอะไร นโยบายความปลอดภัยของเนื้อหาทำงานอย่างไร ฉันจะใช้Content-Security-Policyส่วนหัว HTTP ได้อย่างไร โดยเฉพาะวิธีการ ... ... อนุญาตให้ใช้หลายแหล่งได้หรือไม่ ... ใช้คำสั่งที่แตกต่างกันอย่างไร ... ใช้หลายคำสั่งหรือไม่ ... จัดการพอร์ตหรือไม่ ... จัดการโปรโตคอลที่แตกต่างกันอย่างไร ... อนุญาตfile://โปรโตคอลหรือไม่ ... ใช้สไตล์อินไลน์สคริปต์และแท็ก<style>และ<script>? ... ช่วยให้eval()? และในที่สุดก็: 'self'หมายความว่าอะไรกันแน่?

22
รับส่วนทศนิยมของตัวเลขด้วย JavaScript
ฉันมีตัวเลขลอยเหมือนและ3.21.6 ฉันต้องการแยกตัวเลขออกเป็นส่วนจำนวนเต็มและทศนิยม ตัวอย่างเช่นค่าของ3.2จะถูกแบ่งออกเป็นสองตัวเลขคือ3และ0.2 การรับส่วนจำนวนเต็มเป็นเรื่องง่าย: n = Math.floor(n); แต่ฉันมีปัญหาในการรับส่วนทศนิยม ฉันได้ลองสิ่งนี้แล้ว: remainer = n % 2; //obtem a parte decimal do rating แต่มันไม่ทำงานอย่างถูกต้องเสมอไป รหัสก่อนหน้ามีผลลัพธ์ต่อไปนี้: n = 3.1 => remainer = 1.1 สิ่งที่ฉันหายไปที่นี่

22
Array.push () ถ้าไม่มีอยู่?
ฉันจะดันเข้าไปในอาร์เรย์ได้อย่างไรถ้าไม่มีค่าอยู่? นี่คืออาร์เรย์ของฉัน: [ { name: "tom", text: "tasty" }, { name: "tom", text: "tasty" }, { name: "tom", text: "tasty" }, { name: "tom", text: "tasty" }, { name: "tom", text: "tasty" } ] ถ้าฉันพยายามที่จะผลักอีกครั้งในแถวลำดับด้วยname: "tom"หรือtext: "tasty"ฉันไม่ต้องการให้เกิดอะไรขึ้น ... แต่ถ้าไม่มีสิ่งเหล่านั้นฉันก็อยากให้มัน.push() ฉันจะทำสิ่งนี้ได้อย่างไร

14
ฉันจะส่งออกสตริงที่จัดรูปแบบ ISO 8601 ใน JavaScript ได้อย่างไร
ฉันมีDateวัตถุ ฉันจะแสดงtitleส่วนของตัวอย่างต่อไปนี้ได้อย่างไร <abbr title="2010-04-02T14:12:07">A couple days ago</abbr> ฉันมีส่วน "เวลาสัมพันธ์เป็นคำพูด" จากห้องสมุดอื่น ฉันได้ลองทำสิ่งต่อไปนี้แล้ว: function isoDate(msSinceEpoch) { var d = new Date(msSinceEpoch); return d.getUTCFullYear() + '-' + (d.getUTCMonth() + 1) + '-' + d.getUTCDate() + 'T' + d.getUTCHours() + ':' + d.getUTCMinutes() + ':' + d.getUTCSeconds(); } แต่นั่นทำให้ฉัน: "2010-4-2T3:19"

12
Rails - ไม่พบรันไทม์ JavaScript ใช่ไหม
ฉันสร้างโครงการ Rails ใหม่โดยใช้rails 3.1.0.rc4บนเครื่องของฉัน แต่เมื่อฉันพยายามเริ่มต้นเซิร์ฟเวอร์ฉันจะได้รับ: ไม่พบ JavaScript runtime ดูที่นี่สำหรับรายการของ runtimes ที่มีอยู่ ( ExecJS::RuntimeUnavailable) หมายเหตุ: นี่ไม่เกี่ยวกับ Heroku

13
การแก้ไขในดีบักเกอร์ Chrome
ฉันจะแก้ไขรหัส JavaScript แบบไดนามิกในดีบักเกอร์ Chrome ได้อย่างไร ไม่ใช่สำหรับฉันดังนั้นฉันจึงไม่สามารถเข้าถึงไฟล์ต้นฉบับได้ ฉันต้องการแก้ไขโค้ดและดูว่าเอฟเฟกต์มีอะไรบ้างในหน้านี้ในกรณีนี้การหยุดนิเมชั่นจากการเข้าคิวหลายครั้ง

5
แทนที่ช่องว่างด้วยเครื่องหมายขีดกลางและทำให้อักษรตัวเล็กเป็นตัวพิมพ์เล็กทั้งหมด
ฉันต้องการฟอร์แมตสตริงใหม่โดยใช้ jQuery หรือ vanilla JavaScript "Sonic Free Games"สมมติว่าเรามี "sonic-free-games"ฉันต้องการที่จะแปลงเป็น ดังนั้นช่องว่างควรถูกแทนที่ด้วยเครื่องหมายขีดกลางและตัวอักษรทั้งหมดที่แปลงเป็นอักษรตัวเล็ก โปรดให้ความช่วยเหลือในเรื่องนี้?


22
Node.js จำนวนมากออกจากหน่วยความจำ
วันนี้ฉันรันสคริปต์ของฉันสำหรับการทำดัชนีระบบไฟล์เพื่อรีเฟรชดัชนีไฟล์ RAID และหลังจาก 4 ชม. มันล้มเหลวด้วยข้อผิดพลาดต่อไปนี้: [md5:] 241613/241627 97.5% [md5:] 241614/241627 97.5% [md5:] 241625/241627 98.1% Creating missing list... (79570 files missing) Creating new files list... (241627 new files) <--- Last few GCs ---> 11629672 ms: Mark-sweep 1174.6 (1426.5) -> 1172.4 (1418.3) MB, 659.9 / 0 ms [allocation failure] [GC in …

30
ตรวจจับเวอร์ชัน IE (ก่อนหน้า v9) ใน JavaScript
ฉันต้องการตีกลับผู้ใช้เว็บไซต์ของเราไปยังหน้าข้อผิดพลาดหากพวกเขาใช้เวอร์ชันInternet Explorerก่อนหน้า v9 IE pre-v9มันเป็นเพียงไม่คุ้มค่าเวลาและเงินของเราที่จะสนับสนุน ผู้ใช้เบราว์เซอร์ที่ไม่ใช่ IE อื่น ๆ ทั้งหมดนั้นใช้ได้และไม่ควรถูกตีกลับ นี่คือรหัสที่เสนอ: if(navigator.appName.indexOf("Internet Explorer")!=-1){ //yeah, he's using IE var badBrowser=( navigator.appVersion.indexOf("MSIE 9")==-1 && //v9 is ok navigator.appVersion.indexOf("MSIE 1")==-1 //v10, 11, 12, etc. is fine too ); if(badBrowser){ // navigate to error page } } รหัสนี้จะทำเคล็ดลับหรือไม่ หากต้องการออกความคิดเห็นเล็ก ๆ น้อย ๆ ที่อาจจะมาถึงฉัน: ใช่ฉันรู้ว่าผู้ใช้สามารถปลอมแปลงuseragentสตริงของพวกเขา …

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