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

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

4
จะรอให้ JavaScript Promise แก้ไขก่อนที่จะกลับมาทำงานได้อย่างไร
ฉันกำลังทำการทดสอบหน่วย กรอบการทดสอบจะโหลดเพจลงใน iFrame จากนั้นเรียกใช้การยืนยันกับเพจนั้น ก่อนการทดสอบแต่ละครั้งจะเริ่มขึ้นฉันจะสร้างสิ่งPromiseที่กำหนดให้onloadเหตุการณ์ของ iFrame เรียกresolve()ตั้งค่า iFrame srcและส่งคืนคำสัญญา ดังนั้นฉันก็สามารถโทรloadUrl(url).then(myFunc)และมันจะรอให้การโหลดหน้าก่อนที่จะดำเนินสิ่งที่myFuncเป็น ฉันใช้รูปแบบประเภทนี้ทั่วทุกที่ในการทดสอบของฉัน (ไม่ใช่แค่การโหลด URL) โดยหลักแล้วเพื่อให้การเปลี่ยนแปลง DOM เกิดขึ้น (เช่นเลียนแบบการคลิกปุ่มและรอให้ divs ซ่อนและแสดง) ข้อเสียของการออกแบบนี้คือฉันมักจะเขียนฟังก์ชันที่ไม่ระบุตัวตนโดยมีโค้ดสองสามบรรทัดอยู่ในนั้น นอกจากนี้ในขณะที่ฉันมีวิธีแก้ไข (QUnit's assert.async()) ฟังก์ชันทดสอบที่กำหนดคำสัญญาจะเสร็จสมบูรณ์ก่อนที่สัญญาจะทำงาน ฉันสงสัยว่ามีวิธีใดที่จะได้รับค่าจากPromiseหรือรอ (บล็อก / นอนหลับ) จนกว่าจะได้รับการแก้ไขที่คล้ายกับของ IAsyncResult.WaitHandle.WaitOne().NET ฉันรู้ว่า JavaScript เป็นเธรดเดียว แต่ฉันหวังว่านั่นไม่ได้หมายความว่าฟังก์ชันจะไม่สามารถให้ผลลัพธ์ได้ โดยพื้นฐานแล้วมีวิธีที่จะทำให้สิ่งต่อไปนี้คายผลลัพธ์ตามลำดับที่ถูกต้องหรือไม่? function kickOff() { return new Promise(function(resolve, reject) { $("#output").append("start"); setTimeout(function() { resolve(); }, 1000); }).then(function() …

14
วิธีตรวจสอบว่ามีตัวฟังเหตุการณ์ที่แนบแบบไดนามิกอยู่หรือไม่?
นี่คือปัญหาของฉัน: เป็นไปได้ไหมที่จะตรวจสอบว่ามีตัวฟังเหตุการณ์ที่แนบแบบไดนามิกอยู่หรือไม่? หรือฉันจะตรวจสอบสถานะของคุณสมบัติ "onclick" (?) ใน DOM ได้อย่างไร ฉันค้นหาอินเทอร์เน็ตเช่นเดียวกับ Stack Overflow เพื่อหาวิธีแก้ปัญหา แต่ไม่มีโชค นี่คือ html ของฉัน: <a id="link1" onclick="linkclick(event)"> link 1 </a> <a id="link2"> link 2 </a> <!-- without inline onclick handler --> จากนั้นใน Javascript ฉันแนบตัวฟังเหตุการณ์ที่สร้างขึ้นแบบไดนามิกไปยังลิงก์ที่ 2: document.getElementById('link2').addEventListener('click', linkclick, false); รหัสทำงานได้ดี แต่ความพยายามทั้งหมดของฉันในการตรวจจับตัวฟังที่แนบมานั้นล้มเหลว: // test for #link2 - dynamically created eventlistener …

4
วิธีจัดเก็บไฟล์ Configuration และอ่านโดยใช้ React
ฉันเป็นคนใหม่ใน react.js ฉันได้ใช้ส่วนประกอบหนึ่งที่ฉันกำลังดึงข้อมูลจากเซิร์ฟเวอร์และใช้มันเช่น CallEnterprise:function(TenantId){ fetchData('http://xxx.xxx.xx.xx:8090/Enterprises?TenantId='+TenantId+' &format=json').then(function(enterprises) { EnterprisePerspectiveActions.getEnterprise(enterprises); }).catch(function() { alert("There was some issue in API Call please contact Admin"); //ComponentAppDispatcher.handleViewAction({ // actionType: MetaItemConstants.RECEIVE_ERROR, // error: 'There was a problem getting the enterprises' //}); }); }, ฉันต้องการจัดเก็บ Url ในไฟล์คอนฟิกูเรชันดังนั้นเมื่อฉันปรับใช้สิ่งนี้บนเซิร์ฟเวอร์การทดสอบหรือในการผลิตฉันต้องเปลี่ยน url บนไฟล์ config ที่ไม่ใช่ในไฟล์ js แต่ฉันไม่รู้วิธีใช้ไฟล์คอนฟิกูเรชันใน react.js ใครช่วยแนะนำฉันหน่อยได้ไหมว่าฉันจะบรรลุเป้าหมายนี้ได้อย่างไร

9
คุณ JSON.stringify ES6 Map ได้อย่างไร
ฉันต้องการเริ่มใช้ES6 Mapแทนออบเจ็กต์ JS แต่ฉันถูกระงับเพราะฉันไม่สามารถหาวิธี JSON.stringify () แผนที่ได้ คีย์ของฉันได้รับการรับรองว่าเป็นสตริงและค่าของฉันจะแสดงอยู่เสมอ ฉันต้องเขียนวิธีการห่อเพื่อทำให้เป็นอนุกรมหรือไม่?

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

8
การดึงข้อมูลจาวาสคริปต์ - ไม่สามารถเรียกใช้งาน 'json' ใน 'การตอบกลับ': สตรีมเนื้อหาถูกล็อก
เมื่อสถานะคำขอมากกว่า 400 (ฉันลอง 400, 423, 429 สถานะ) การดึงข้อมูลไม่สามารถอ่านเนื้อหา json ที่ส่งคืนได้ ข้อผิดพลาดต่อไปนี้แสดงขึ้นในคอนโซลของเบราว์เซอร์ Uncaught (ตามสัญญา) TypeError: ล้มเหลวในการรัน 'json' ใน 'การตอบสนอง': สตรีมเนื้อหาถูกล็อค ฉันแสดงเนื้อหาของวัตถุตอบกลับที่ส่งคืนดังนี้: แต่ฉันยังสามารถใช้งานได้เมื่อหลายเดือนก่อน คำถามของฉันมีดังนี้: นี่เป็นเพียงพฤติกรรมของเบราว์เซอร์ Chrome หรือการเปลี่ยนแปลงมาตรฐานในการดึงข้อมูล? มีวิธีใดบ้างในการรับเนื้อหาของรัฐเหล่านี้? PS: เวอร์ชันเบราว์เซอร์ของฉันคือ Google Chrome 70.0.3538.102 (正式版本) (64 位)

13
setState ไม่อัปเดตสถานะทันที
ฉันอยากจะถามว่าทำไมสถานะของฉันถึงไม่เปลี่ยนไปเมื่อฉันทำกิจกรรม onclick ฉันค้นหามานานแล้วว่าฉันต้องการผูกฟังก์ชัน onclick ในตัวสร้าง แต่สถานะยังไม่อัปเดต นี่คือรหัสของฉัน: import React from 'react'; import Grid from 'react-bootstrap/lib/Grid'; import Row from 'react-bootstrap/lib/Row'; import Col from 'react-bootstrap/lib/Col'; import BoardAddModal from 'components/board/BoardAddModal.jsx'; import style from 'styles/boarditem.css'; class BoardAdd extends React.Component { constructor(props){ super(props); this.state = { boardAddModalShow: false } this.openAddBoardModal = this.openAddBoardModal.bind(this); } openAddBoardModal(){ this.setState({ …

6
สถานะ Vuex ในการรีเฟรชหน้า
แอปของฉันใช้ Firebase API สำหรับการตรวจสอบผู้ใช้โดยบันทึกสถานะการเข้าสู่ระบบเป็นค่าบูลีนในสถานะ Vuex เมื่อผู้ใช้เข้าสู่ระบบฉันตั้งค่าสถานะการเข้าสู่ระบบและแสดงปุ่มเข้าสู่ระบบ / ออกจากระบบตามเงื่อนไข แต่เมื่อรีเฟรชหน้าแล้วสถานะของแอป vue จะหายไปและรีเซ็ตเป็นค่าเริ่มต้น สิ่งนี้ทำให้เกิดปัญหาแม้ว่าผู้ใช้จะเข้าสู่ระบบและเพจได้รับการรีเฟรชสถานะการเข้าสู่ระบบจะถูกตั้งค่ากลับเป็นเท็จและปุ่มล็อกอินจะแสดงแทนปุ่มล็อกเอาต์แม้ว่าผู้ใช้จะยังคงล็อกอินอยู่ก็ตาม .... ฉันจะทำอย่างไรเพื่อป้องกันพฤติกรรมนี้ ฉันจะใช้คุกกี้ได้ หรือไม่หรือวิธีการอื่นที่ดีกว่านี้ ... -

8
การแยกวิเคราะห์การตอบสนอง JSONP $ http.jsonp () ใน angular.js
ฉันใช้$http.jsonp()คำขอของเชิงมุมซึ่งส่งคืน json ที่ห่อด้วยฟังก์ชันได้สำเร็จ: var url = "http://public-api.wordpress.com/rest/v1/sites/wtmpeachtest.wordpress.com/posts?callback=jsonp_callback"; $http.jsonp(url). success(function(data, status, headers, config) { //what do I do here? }). error(function(data, status, headers, config) { $scope.error = true; }); จะเข้าถึง / แยกวิเคราะห์ฟังก์ชันที่ห่อหุ้ม - JSON ได้อย่างไร

9
เป็นฟังก์ชันที่เรียก Math.random () บริสุทธิ์หรือไม่?
ต่อไปนี้เป็นฟังก์ชันบริสุทธิ์หรือไม่? function test(min,max) { return Math.random() * (max - min) + min; } ความเข้าใจของฉันคือฟังก์ชันบริสุทธิ์เป็นไปตามเงื่อนไขเหล่านี้: ส่งคืนค่าที่คำนวณจากพารามิเตอร์ มันไม่ทำงานอื่นใดนอกจากการคำนวณมูลค่าที่ส่งคืน ถ้าคำจำกัดความนี้ถูกต้องฟังก์ชันของฉันเป็นฟังก์ชันบริสุทธิ์หรือไม่ หรือความเข้าใจของฉันเกี่ยวกับสิ่งที่กำหนดฟังก์ชันบริสุทธิ์ไม่ถูกต้อง?

5
วิธีตั้งค่าสไตล์ -webkit-transform แบบไดนามิกโดยใช้ JavaScript?
ฉันต้องการเปลี่ยน-webkit-transform: rotate()คุณสมบัติโดยใช้ JavaScript แบบไดนามิก แต่ที่ใช้กันทั่วไปsetAttributeไม่ทำงาน: img.setAttribute('-webkit-transform', 'rotate(60deg)'); .styleไม่ทำงานอย่างใดอย่างหนึ่ง ... ฉันจะตั้งค่าแบบไดนามิกใน JavaScript ได้อย่างไร
112 javascript  webkit 

3
JSON.parse ข้อผิดพลาดของอักขระที่ไม่คาดคิด
ฉันได้รับข้อผิดพลาดนี้: JSON.parse: อักขระที่ไม่คาดคิด เมื่อฉันเรียกใช้คำสั่งนี้ใน firebug: JSON.parse({"balance":0,"count":0,"time":1323973673061,"firstname":"howard","userId":5383,"localid":1,"freeExpiration":0,"status":false}); ทำไมจึงเป็นเช่นนั้น? ดูเหมือนว่าสตริง JSON จะถูกต้องสำหรับฉันและฉันก็ทดสอบโดยใช้ JSHint ด้วย อ็อบเจ็กต์ที่ส่งผ่านในกรณีข้างต้นคือการตอบสนองของเซิร์ฟเวอร์ที่กำหนดประเภทเนื้อหาเป็นapplication/json
112 javascript  json 

8
วิธีที่ง่ายที่สุดในการรอให้งานอะซิงโครนัสบางอย่างเสร็จสมบูรณ์ใน Javascript?
ฉันต้องการทิ้งคอลเลคชัน mongodb แต่เป็นงานแบบอะซิงโครนัส รหัสจะเป็น: var mongoose = require('mongoose'); mongoose.connect('mongo://localhost/xxx'); var conn = mongoose.connection; ['aaa','bbb','ccc'].forEach(function(name){ conn.collection(name).drop(function(err) { console.log('dropped'); }); }); console.log('all dropped'); คอนโซลจะแสดง: all dropped dropped dropped dropped อะไรคือวิธีที่ง่ายที่สุดในการทำให้แน่ใจว่าall droppedจะพิมพ์ออกมาหลังจากที่คอลเลกชั่นทั้งหมดถูกทิ้ง? สามารถใช้บุคคลที่สามเพื่อลดความซับซ้อนของรหัสได้

6
JavaScript ที่ไม่ปลอดภัยพยายามเข้าถึงเฟรมด้วย URL
ฉันได้รับข้อผิดพลาดด้านล่างเมื่อฉันพยายามตั้งค่าแฮชเป็น URL หลักจาก iframe ซึ่งมี URL ของโดเมนอื่น: JavaScript ที่ไม่ปลอดภัยพยายามเข้าถึงเฟรมด้วย URL "URL1" จากเฟรมที่มี URL "URL2" โดเมนโปรโตคอลและพอร์ตต้องตรงกัน ฉันจะแก้ไขปัญหานี้ได้อย่างไร?

14
ขนาดสูงสุดขององค์ประกอบ <canvas>
ฉันกำลังทำงานกับองค์ประกอบผ้าใบที่มีความสูง600ถึง1000พิกเซลและมีความกว้างหลายสิบหรือหลายแสนพิกเซล อย่างไรก็ตามหลังจากจำนวนพิกเซลที่กำหนด (ไม่ทราบแน่ชัด) ผืนผ้าใบจะไม่แสดงรูปร่างที่ฉันวาดด้วย JS อีกต่อไป มีใครรู้บ้างว่ามีขีด จำกัด ? ทดสอบทั้งใน Chrome 12 และ Firefox 4
112 javascript  html  canvas 

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