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

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

8
JavaScript: ปัดเศษเป็นทศนิยมจำนวนหนึ่ง แต่ตัดค่าศูนย์พิเศษออก
นี่คือสถานการณ์: ฉันได้รับเมื่อฉันควรจะได้รับ.9999999999999999 ฉันสามารถที่จะสูญเสียตำแหน่งทศนิยมของความแม่นยำได้ดังนั้นฉันกำลังใช้งานประเภทใดอยู่1.0.toFixed(15) ปัดเศษงาน 1.000000000000000แต่ปัญหาคือว่าฉันได้รับ มีวิธีปัดเศษเป็นทศนิยมกี่ตำแหน่ง แต่ตัดช่องว่างเพิ่มเติมหรือไม่? หมายเหตุ: .toPrecisionไม่ใช่สิ่งที่ฉันต้องการ ฉันต้องการระบุจำนวนตัวเลขหลังจุดทศนิยมเท่านั้น หมายเหตุ 2: ฉันใช้ไม่ได้.toPrecision(1)เพราะฉันต้องการรักษาความแม่นยำสูงสำหรับตัวเลขที่มีข้อมูลอยู่หลังจุดทศนิยม ตามหลักการแล้วจะมีตำแหน่งทศนิยมมากเท่าที่จำเป็น (สูงสุด 15 ตำแหน่ง)

15
maxFileSize และ acceptFileTypes ในปลั๊กอินอัปโหลดไฟล์ blueimp ไม่ทำงาน ทำไม?
ฉันใช้ปลั๊กอินอัพโหลดไฟล์ Blueimp jQuery สำหรับอัปโหลดไฟล์ ฉันไม่มีปัญหาในการอัปโหลด แต่ตัวเลือกmaxFileSizeและacceptFileTypesไม่ทำงาน นี่คือรหัสของฉัน: $(document).ready(function () { 'use strict'; $('#fileupload').fileupload({ dataType: 'json', autoUpload: false, acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i, maxFileSize: 5000000, done: function (e, data) { $.each(data.result.files, function (index, file) { $('<p style="color: green;">' + file.name + '<i class="elusive-ok" style="padding-left:10px;"/> - Type: ' + file.type + ' - Size: ' …

4
บังคับให้เว็บไซต์แสดงในโหมดแนวนอนเท่านั้น
ฉันต้องการแสดงเว็บไซต์ของฉันในโหมดแนวนอนเท่านั้นเป็นไปได้หรือไม่ ไม่สำคัญว่าการวางแนวของอุปกรณ์ในมือผู้ใช้จะเป็นอย่างไร แต่เว็บไซต์จะอยู่ในโหมดแนวนอนเสมอ ฉันเคยเห็นแอพพลิเคชั่น iPhone ทำงานแบบนั้น แต่สามารถทำได้กับเว็บไซต์หรือไม่?

4
ประกาศค่าหลายค่าใน ng-init
ดังนั้นฉันจึงสงสัยว่าฉันสามารถประกาศค่าหลายค่าภายใน ng-init เดียวได้อย่างไรโดยไม่ต้องสร้างแฮชแปลก ๆ ฉันจึงต้องเข้าถึงโดยเฉพาะเสมอ โดยพื้นฐานแล้วฉันต้องการ <div ng-init="a = 1, b = 2">{{a}}</div> และฉันกำลังบอกว่าฉันต้องการหลีกเลี่ยงที่จะทำ <div ng-init="unecessary_bs = {a: 1, b: 2}">{{unecessary_bs.a}}</div> อย่างไรก็ตามความสมเหตุสมผล: <div ng-init="a = 1, b = 2">{{a}}</div> ดูเหมือนจะไม่ได้ผล ขอบคุณที่คาดหวัง

4
(1, eval) ('this') vs eval ('this') ใน JavaScript?
ฉันเริ่มอ่านรูปแบบ JavaScriptบางรหัสทำให้ฉันสับสน var global = (function () { return this || (1, eval)('this'); }()); นี่คือคำถามของฉัน: Q1: (1, eval) === evalเหรอ? ทำไมและทำงานอย่างไร? Q2: ทำไมไม่เพียง var global = (function () { return this || eval('this'); }()); หรือ var global = (function () { return this; }());
85 javascript  eval 

9
เหตุใด Math.pow (0, 0) === 1
เราทุกคนรู้ดีว่า 0 0นั้นไม่แน่นอน แต่ , จาวาสคริปต์กล่าวว่า: Math.pow(0, 0) === 1 // true และC ++พูดในสิ่งเดียวกัน: pow(0, 0) == 1 // true ทำไม? ฉันรู้แล้ว: >Math.pow(0.001, 0.001) 0.9931160484209338 แต่ทำไมการMath.pow(0, 0)โยนไม่มีข้อผิดพลาด? หรืออาจจะดีกว่าNaN1

12
ใครมีอัลกอริทึมที่แตกต่างกันสำหรับ HTML ที่แสดงผล? [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันสนใจที่จะเห็นอัลกอริทึมที่แตกต่างที่ดีซึ่งอาจเป็นใน Javascript สำหรับการแสดงผลความแตกต่างแบบเคียงข้างกันของหน้า HTML สองหน้า แนวคิดคือความแตกต่างจะแสดงความแตกต่างของHTML ที่แสดงผล เพื่อความชัดเจนฉันต้องการที่จะเห็นความแตกต่างแบบเคียงข้างกันเป็นผลลัพธ์ที่แสดงผล ดังนั้นถ้าฉันลบย่อหน้ามุมมองด้านข้างจะรู้ว่าต้องเว้นวรรคอย่างถูกต้อง @ จอชเป๊ะ. แม้ว่าอาจจะแสดงข้อความที่ถูกลบเป็นสีแดงหรือบางอย่าง แนวคิดก็คือถ้าฉันใช้โปรแกรมแก้ไขแบบ WYSIWYG สำหรับเนื้อหา HTML ของฉันฉันไม่ต้องการที่จะเปลี่ยนไปใช้ HTML เพื่อสร้างความแตกต่าง ฉันต้องการทำโดยใช้โปรแกรมแก้ไข WYSIWYG สองตัวเคียงข้างกัน หรืออย่างน้อยการแสดงผลก็แตกต่างกันไปในเรื่องที่เป็นมิตรกับผู้ใช้ปลายทาง
85 javascript  html  diff 

7
ใน Javascript ขีดล่างหมายความว่าอย่างไร
var Gallery = Backbone.Controller.extend({ _index: null, _photos: null, _album :null, _subalbums:null, _subphotos:null, _data:null, _photosview:null, _currentsub:null, routes: { "": "index", "subalbum/:id": "subindex", "subalbum/:id/" : "directphoto", "subalbum/:id/:num" : "hashphoto" }, initialize: function(options) { var ws = this; if (this._index === null){ $.ajax({ url: 'data/album1.json', dataType: 'json', data: {}, success: function(data) { ws._data …

4
อ่านสถานะเริ่มต้นของร้านค้าใน Redux Reducer
สถานะเริ่มต้นในแอป Redux สามารถตั้งค่าได้สองวิธี: ส่งต่อเป็นอาร์กิวเมนต์ที่สองไปยังcreateStore( ลิงก์เอกสาร ) ส่งต่อเป็นอาร์กิวเมนต์แรกไปยังตัวลด (ย่อย) ของคุณ ( ลิงก์เอกสาร ) หากคุณผ่านสถานะเริ่มต้นไปยังร้านค้าของคุณคุณจะอ่านสถานะนั้นจากร้านค้าได้อย่างไรและทำให้เป็นอาร์กิวเมนต์แรกในตัวลด

3
ต้องการคำอธิบายของฟังก์ชัน _.bindAll () จาก Underscore.js
ฉันได้เรียนรู้ backbone.js มาบ้างแล้วและฉันได้เห็นอินสแตนซ์มากมายที่_.bindAll()ถูกใช้ ฉันได้อ่านหน้าเอกสาร backbone.js และ underscore.js ทั้งหมดเพื่อพยายามทำความเข้าใจว่ามันทำอะไรได้บ้าง แต่ฉันก็ยังคลุมเครือเกี่ยวกับสิ่งที่มันทำ นี่คือคำอธิบายขีดล่าง: _.bindAll(object, [*methodNames]) ผูกเมธอดจำนวนมากบนอ็อบเจ็กต์ที่ระบุโดย methodNames เพื่อให้รันในบริบทของอ็อบเจ็กต์นั้นเมื่อใดก็ตามที่มีการเรียกใช้ มีประโยชน์มากสำหรับฟังก์ชันการเชื่อมโยงที่จะใช้เป็นตัวจัดการเหตุการณ์ซึ่งจะถูกเรียกใช้ด้วยสิ่งนี้ที่ไร้ประโยชน์ หากไม่มีการระบุ methodNames คุณสมบัติฟังก์ชันทั้งหมดของอ็อบเจ็กต์จะถูกผูกไว้กับอ็อบเจ็กต์ var buttonView = { label : 'underscore', onClick : function(){ alert('clicked: ' + this.label); }, onHover : function(){ console.log('hovering: ' + this.label); } }; _.bindAll(buttonView); jQuery('#underscore_button').bind('click', buttonView.onClick); => When the button …

11
ฉันจะระงับกล่องโต้ตอบการตรวจสอบสิทธิ์ของเบราว์เซอร์ได้อย่างไร
เว็บแอปพลิเคชันของฉันมีหน้าเข้าสู่ระบบที่ส่งข้อมูลรับรองการรับรองความถูกต้องผ่านการโทร AJAX หากผู้ใช้ป้อนชื่อผู้ใช้และรหัสผ่านที่ถูกต้องทุกอย่างก็เรียบร้อย แต่หากไม่เป็นเช่นนั้นสิ่งต่อไปนี้จะเกิดขึ้น: เว็บเซิร์ฟเวอร์พิจารณาว่าแม้ว่าคำขอจะมีส่วนหัวการอนุญาตที่มีรูปแบบที่ดี แต่ข้อมูลประจำตัวในส่วนหัวจะไม่สามารถพิสูจน์ตัวตนได้สำเร็จ เว็บเซิร์ฟเวอร์ส่งคืนรหัสสถานะ 401 และมีส่วนหัว WWW-Authenticate อย่างน้อยหนึ่งรายการแสดงประเภทการรับรองความถูกต้องที่สนับสนุน เบราว์เซอร์ตรวจพบว่าการตอบสนองต่อการเรียกของฉันบนอ็อบเจ็กต์ XMLHttpRequest คือ 401 และการตอบสนองรวมถึงส่วนหัว WWW-Authenticate จากนั้นจะปรากฏกล่องโต้ตอบการตรวจสอบความถูกต้องเพื่อถามชื่อผู้ใช้และรหัสผ่านอีกครั้ง ทั้งหมดนี้ใช้ได้ดีจนถึงขั้นตอนที่ 3 ฉันไม่ต้องการให้กล่องโต้ตอบปรากฏขึ้นฉันต้องการจัดการการตอบสนอง 401 ในฟังก์ชันการโทรกลับ AJAX ของฉัน (ตัวอย่างเช่นการแสดงข้อความแสดงข้อผิดพลาดในหน้าล็อกอิน) แน่นอนว่าฉันต้องการให้ผู้ใช้ป้อนชื่อผู้ใช้และรหัสผ่านอีกครั้ง แต่ฉันต้องการให้พวกเขาเห็นแบบฟอร์มการเข้าสู่ระบบที่เป็นมิตรและมั่นใจของฉันไม่ใช่ค่าเริ่มต้นของเบราว์เซอร์ที่น่าเกลียด กล่องโต้ตอบการตรวจสอบสิทธิ์ บังเอิญฉันไม่สามารถควบคุมเซิร์ฟเวอร์ได้ดังนั้นการส่งคืนรหัสสถานะที่กำหนดเอง (เช่นอย่างอื่นที่ไม่ใช่ 401) จึงไม่ใช่ตัวเลือก มีวิธีใดบ้างที่ฉันสามารถระงับกล่องโต้ตอบการตรวจสอบสิทธิ์ได้ โดยเฉพาะอย่างยิ่งฉันสามารถระงับกล่องโต้ตอบที่จำเป็นในการตรวจสอบสิทธิ์ใน Firefox 2 หรือใหม่กว่าได้หรือไม่ มีวิธีใดในการระงับกล่องโต้ตอบConnect to [host]ใน IE 6 และใหม่กว่า แก้ไข ข้อมูลเพิ่มเติมจากผู้เขียน (18 ก.ย. ): ฉันควรเพิ่มว่าปัญหาที่แท้จริงของกล่องโต้ตอบการตรวจสอบสิทธิ์ของเบราว์เซอร์ที่ปรากฏขึ้นคือการให้ข้อมูลที่ไม่เพียงพอแก่ผู้ใช้ …

9
ประโยชน์เทียบกับข้อผิดพลาดของการโฮสต์ jQuery ในเครื่อง [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการ1 ปีที่ผ่านมา ปรับปรุงคำถามนี้ เรากำลังดึงไลบรารี jQuery และ jQueryUI (และ jQueryUI CSS) จาก google CDN ฉันชอบสิ่งนี้เพราะฉันสามารถโทรได้google.load("jquery", "1"); และ jQuery 1.xx ล่าสุดจะถูกใช้ ตอนนี้ฉันต้องการดึงไลบรารีในเครื่องเนื่องจากความปลอดภัย ฉันมีความสุขที่จะดึงพวกเขามาในพื้นที่ แต่ฉันสงสัยว่าอะไรคือประโยชน์และข้อผิดพลาดอื่น ๆ ที่ต้องระวัง?

9
รับสีพิกเซลจากแคนวาสบน mousemove
เป็นไปได้ไหมที่จะรับพิกเซลค่า RGB ใต้เมาส์? มีตัวอย่างทั้งหมดนี้หรือไม่? นี่คือสิ่งที่ฉันมีจนถึงตอนนี้: function draw() { var ctx = document.getElementById('canvas').getContext('2d'); var img = new Image(); img.src = 'Your URL'; img.onload = function(){ ctx.drawImage(img,0,0); }; canvas.onmousemove = function(e) { var mouseX, mouseY; if(e.offsetX) { mouseX = e.offsetX; mouseY = e.offsetY; } else if(e.layerX) { mouseX = e.layerX; mouseY = …

18
ฉันจะเรียกใช้ nodemon จากภายใน WebStorm ได้อย่างไร
ฉันต้องการใช้nodemonจากภายใน WebStorm IDE (เวอร์ชัน 7) Nodemon เฝ้าดูไฟล์อย่างน้อยหนึ่งไฟล์ในโฟลเดอร์ต้นทางของฉันและรีสตาร์ทกระบวนการโหนด (ในกรณีนี้คือเซิร์ฟเวอร์ Express) เมื่อไฟล์ต้นทางไฟล์ใดไฟล์หนึ่งเปลี่ยนไป ฉันจะกำหนดค่า WebStorm ให้ใช้nodemonในRun Configuration ได้อย่างไรเพื่อให้กระบวนการโหนดเริ่มต้นใหม่โดยอัตโนมัติ หากไม่มีnodemonฉันใช้การกำหนดค่าต่อไปนี้ใน WebStorm แต่ต้องเริ่มกระบวนการโหนดใหม่ทุกครั้งที่ฉันเปลี่ยนแปลงบางสิ่งในไฟล์ต้นฉบับ: ล่ามโหนด: /usr/local/bin/node ไดเร็กทอรีการทำงาน: /Users/foo/test ไฟล์ JavaScript: server.js ส่งผลให้ Run Configuration ที่รันnode server.jsในไดเร็กทอรีที่ระบุ จากบรรทัดคำสั่งฉันสามารถใช้คำสั่งต่อไปนี้เพื่อใช้nodemonเพื่อเฝ้าดูการเปลี่ยนแปลงของไฟล์: nodemon server.jsในไดเร็กทอรีโปรเจ็กต์ ฉันจะต้องเปลี่ยนการกำหนดค่า WebStorm เพื่อให้ใช้nodemon ได้อย่างไร

8
MSIE และ addEventListener Problem ใน Javascript?
document.getElementById('container').addEventListener('copy',beforecopy,false ); ใน Chrome / Safari ข้างต้นจะเรียกใช้ฟังก์ชัน "beforecopy" เมื่อมีการคัดลอกเนื้อหาในหน้า MSIE ควรจะรองรับฟังก์ชันนี้เช่นกัน แต่ด้วยเหตุผลบางประการฉันได้รับข้อผิดพลาดนี้: "วัตถุไม่รองรับคุณสมบัติหรือวิธีการนี้" ตอนนี้ฉันเข้าใจว่า Internet Explorer จะไม่เล่นกับ body node แต่ฉันคิดว่าการให้ node by ID จะทำงานได้ดี ใครมีความคิดเกี่ยวกับสิ่งที่ฉันทำผิด? ขอบคุณล่วงหน้า. ** คะแนนโบนัสสำหรับทุกคนที่สามารถบอกได้ว่าพารามิเตอร์ที่ 3 "False" มีประโยชน์อย่างไร

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