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

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

9
คำสัญญาสามารถมีข้อโต้แย้งหลายข้อถึง onFulfilled ได้หรือไม่?
ฉันทำตามข้อมูลจำเพาะที่นี่และฉันไม่แน่ใจว่าอนุญาตให้เรียก onFulfilled ด้วยอาร์กิวเมนต์หลายรายการหรือไม่ ตัวอย่างเช่น: promise = new Promise(function(onFulfilled, onRejected){ onFulfilled('arg1', 'arg2'); }) ดังนั้นรหัสของฉัน: promise.then(function(arg1, arg2){ // .... }); จะได้รับทั้งสองarg1และarg2? ฉันไม่สนใจว่าจะมีการดำเนินการตามสัญญาใด ๆ อย่างไรฉันต้องการทำตามข้อกำหนด w3c สำหรับคำสัญญาอย่างใกล้ชิด

5
การปิด WebSocket อย่างถูกต้อง (HTML5, Javascript)
ฉันกำลังเล่นกับ HTML5 WebSockets ฉันสงสัยว่าฉันจะปิดการเชื่อมต่ออย่างสง่างามได้อย่างไร เช่นจะเกิดอะไรขึ้นหากผู้ใช้รีเฟรชหน้าหรือเพียงแค่ปิดเบราว์เซอร์ มีพฤติกรรมแปลก ๆ เมื่อผู้ใช้รีเฟรชเพจโดยไม่โทรwebsocket.close()- เมื่อพวกเขากลับมาหลังจากรีเฟรชมันจะเข้าสู่websocket.oncloseเหตุการณ์

18
วิธีรวมไฟล์ js หลายไฟล์โดยใช้วิธี jQuery $ .getScript ()
ฉันกำลังพยายามรวมไฟล์ javascript ลงในไฟล์ js ของฉันแบบไดนามิก ฉันได้ค้นคว้าเกี่ยวกับเรื่องนี้และพบว่าวิธีการ jQuery $ .getScript () น่าจะเป็นวิธีที่ต้องการ // jQuery $.getScript('/path/to/imported/script.js', function() { // script is now loaded and executed. // put your dependent JS here. // what if the JS code is dependent on multiple JS files? }); แต่ฉันสงสัยว่าวิธีนี้สามารถโหลดหลายสคริปต์พร้อมกันได้หรือไม่? สาเหตุที่ฉันถามสิ่งนี้เป็นเพราะบางครั้งไฟล์จาวาสคริปต์ของฉันขึ้นอยู่กับไฟล์ js มากกว่าหนึ่งไฟล์ ขอบคุณล่วงหน้า.

10
วิธีใดเป็นวิธีที่ดีที่สุดในการ จำกัด จำนวนให้กับกลุ่ม?
สมมติว่าx, aและbตัวเลข ฉันจำเป็นต้องหมวกขอบเขตของส่วนx[a, b] ฉันเขียนMath.max(a, Math.min(x, b))ได้ แต่ไม่คิดว่าจะอ่านง่ายขนาดนี้ ใครมีวิธีที่ชาญฉลาดในการเขียนสิ่งนี้ด้วยวิธีที่อ่านง่ายกว่านี้?

3
WebDriver click () เทียบกับคลิก JavaScript ()
เรื่องราว: ที่นี่ใน StackOverflow ฉันเคยเห็นผู้ใช้รายงานว่าไม่สามารถคลิกองค์ประกอบผ่านคำสั่ง "click" ของ selenium WebDriver และสามารถแก้ไขได้ด้วยการคลิก JavaScript โดยเรียกใช้สคริปต์ ตัวอย่างใน Python: element = driver.find_element_by_id("myid") driver.execute_script("arguments[0].click();", element) ตัวอย่างใน WebDriverJS / Protractor: var elm = $("#myid"); browser.executeScript("arguments[0].click();", elm.getWebElement()); คำถาม: เหตุใดการคลิก "ผ่าน JavaScript" จึงทำงานเมื่อคลิก WebDriver ปกติไม่ได้ สิ่งนี้เกิดขึ้นเมื่อใดและข้อเสียของวิธีแก้ปัญหานี้คืออะไร (ถ้ามี) ฉันใช้วิธีแก้ปัญหานี้เป็นการส่วนตัวโดยไม่เข้าใจว่าทำไมฉันต้องทำและปัญหาที่อาจนำไปสู่

8
history.replaceState () ตัวอย่าง?
มีใครให้ตัวอย่างการทำงานสำหรับ history.replaceState ได้ไหม นี่คือสิ่งที่w3.orgกล่าวว่า: history . replaceState(data, title [, url ] ) อัปเดตรายการปัจจุบันในประวัติเซสชันเพื่อให้มีข้อมูลชื่อเรื่องและหากระบุไว้และไม่เป็นค่าว่าง URL ปรับปรุง: สิ่งนี้ทำงานได้อย่างสมบูรณ์: history.replaceState( {} , 'foo', '/foo' ); URL กำลังเปลี่ยน แต่ชื่อไม่เปลี่ยน นั่นเป็นข้อบกพร่องหรือฉันทำอะไรหายไป? ทดสอบกับ Chrome รุ่นล่าสุด
127 javascript  ajax  html 

16
การลบองค์ประกอบตามชื่อคลาส?
ฉันมีรหัสด้านล่างเพื่อค้นหาองค์ประกอบที่มีชื่อคลาส: // Get the element by their class name var cur_columns = document.getElementsByClassName('column'); // Now remove them for (var i = 0; i < cur_columns.length; i++) { } ฉันไม่รู้วิธีลบออก ..... ฉันต้องอ้างอิงผู้ปกครองหรืออะไร? วิธีที่ดีที่สุดในการจัดการสิ่งนี้คืออะไร? @ Karim79: นี่คือ JS: var col_wrapper = document.getElementById("columns").getElementsByTagName("div"); var len = col_wrapper.length; alert(len); for (var i = 0; …

5
JavaScript รับองค์ประกอบตามชื่อ
พิจารณาฟังก์ชันนี้: function validate() { var acc = document.getElementsByName('acc').value; var pass = document.getElementsByName('pass').value; alert (acc); } และส่วน HTML นี้: <table border="0" cellpadding="2" cellspacing="0" valign="top"> <tr> <td class="td1">Account</td> <td class="td2"><input type="text" name="acc" /></td> </tr> <tr class="td1"> <td>Password</td> <td class="td2"><input type="password" name="pass" /></td> </tr> </table> <div><button onClick="validate()" class="cupid-greenx">Login now</button></div> กล่องการแจ้งเตือนกำลังแสดง แต่จะแสดง "ไม่ได้กำหนด"
127 javascript  html  dom 

7
เหตุใด setState จึงอยู่ใน reactjs Async แทนที่จะเป็น Sync
ฉันเพิ่งพบว่าในthis.setState()ฟังก์ชันreact ในส่วนประกอบใด ๆ เป็นแบบอะซิงโครนัสหรือเรียกว่าหลังจากเสร็จสิ้นฟังก์ชันที่ถูกเรียกใช้ ตอนนี้ฉันค้นหาและพบบล็อกนี้ ( setState () State Mutation Operation อาจซิงโครนัสใน ReactJS ) ที่นี่เขาพบว่าsetStateเป็น async (เรียกว่าเมื่อ stack ว่างเปล่า) หรือ sync (เรียกทันทีที่เรียก) ขึ้นอยู่กับว่าการเปลี่ยนสถานะถูกกระตุ้นอย่างไร ตอนนี้สองสิ่งนี้ย่อยยาก ในบล็อกsetStateฟังก์ชันถูกเรียกใช้ภายในฟังก์ชันupdateStateแต่สิ่งที่เรียกใช้updateStateฟังก์ชันนั้นไม่ใช่สิ่งที่ฟังก์ชันที่เรียกว่าจะรู้ ทำไมพวกเขาถึงทำให้setStateasync เป็น JS เป็นภาษาเธรดเดียวและ setState นี้ไม่ใช่การเรียกใช้ WebAPI หรือเซิร์ฟเวอร์ดังนั้นต้องทำในเธรดของ JS เท่านั้น พวกเขาทำเช่นนี้เพื่อให้ Re-Rendering ไม่หยุดผู้ฟังเหตุการณ์และสิ่งของทั้งหมดหรือมีปัญหาด้านการออกแบบอื่น ๆ


6
jQuery clone () และเปลี่ยน id ได้อย่างไร?
ฉันจำเป็นต้องใช้ในการโคลน id แล้วเพิ่มหมายเลขหลังจากที่มันชอบดังนั้นid1, id2ฯลฯ ทุกครั้งที่คุณตีโคลนคุณใส่โคลนหลังจากที่ตัวเลขล่าสุดของ id $("button").click(function() { $("#id").clone().after("#id"); });
127 javascript  jquery  clone 

7
วิธีเปลี่ยน href ของแท็ก <a> ที่ปุ่มคลิกผ่าน javascript
จะเปลี่ยนhrefค่าแอตทริบิวต์ของ&lt;a/&gt;แท็กผ่าน Javascript เมื่อคลิกปุ่มได้อย่างไร? &lt;script type="text/javascript"&gt; function f1() { document.getElementById("abc").href="xyz.php"; } &lt;/script&gt; &lt;a href="" id="abc"&gt;jhg&lt;/a&gt; &lt;a href="" id="" onclick="f1()"&gt;jhhghj&lt;/a&gt;
127 javascript  href  attr 

9
ดาวน์โหลดไฟล์ url ข้อมูล
ฉันกำลังเล่นกับแนวคิดในการสร้างยูทิลิตี้ zip / unzip ที่ใช้ JavaScript ซึ่งทุกคนสามารถเข้าถึงได้จากเบราว์เซอร์ พวกเขาสามารถลาก zip ลงในเบราว์เซอร์ได้โดยตรงจากนั้นมันจะช่วยให้ดาวน์โหลดไฟล์ทั้งหมดภายใน นอกจากนี้ยังสามารถสร้างไฟล์ zip ใหม่โดยลากไฟล์แต่ละไฟล์เข้ามา ฉันรู้ว่ามันจะดีกว่าถ้าทำบนเซิร์ฟเวอร์ แต่โปรเจ็กต์นี้ก็เพื่อความสนุก การลากไฟล์ลงในเบราว์เซอร์ควรจะง่ายพอหากฉันใช้ประโยชน์จากวิธีการต่างๆที่มีอยู่ (สไตล์ Gmail) หวังว่าการเข้ารหัส / ถอดรหัสน่าจะใช้ได้ ฉันเคยเห็นไลบรารี zip ของ as3 ดังนั้นฉันแน่ใจว่าฉันน่าจะใช้ได้ดี ปัญหาของฉันคือการดาวน์โหลดไฟล์ในตอนท้าย window.location = 'data:jpg/image;base64,/9j/4AAQSkZJR....' ใช้งานได้ดีใน firefox แต่ไม่ใช่ใน chrome ฉันสามารถฝังไฟล์เป็นรูปภาพได้ใน chrome โดยใช้&lt;img src="data:jpg/image;ba.." /&gt;แต่ไฟล์ไม่จำเป็นต้องเป็นรูปภาพ อาจเป็นรูปแบบใดก็ได้ ใครสามารถคิดวิธีแก้ปัญหาอื่นหรือวิธีแก้ปัญหาบางอย่าง?

7
จะรับไฟล์หรือหยดจาก URL วัตถุได้อย่างไร
ฉันอนุญาตให้ผู้ใช้โหลดภาพลงในเพจผ่านการลากและวางและวิธีอื่น ๆ เมื่อภาพหลุดฉันกำลังใช้URL.createObjectURLเพื่อแปลงเป็น URL วัตถุเพื่อแสดงภาพ ฉันไม่ได้เพิกถอน url เนื่องจากใช้ซ้ำ ดังนั้นเมื่อถึงเวลาต้องสร้างFormDataออบเจ็กต์เพื่อที่ฉันจะได้อนุญาตให้พวกเขาอัปโหลดแบบฟอร์มที่มีรูปใดรูปหนึ่งอยู่ในนั้นมีวิธีใดบ้างที่ฉันสามารถย้อนกลับ Object URL นั้นกลับไปเป็นBlobหรือFileดังนั้นฉันจึงสามารถต่อท้ายด้วยFormDataวัตถุ?

5
ข้อผิดพลาดอึก: งานนาฬิกาต้องเป็นฟังก์ชัน
นี่คือ gulpfile ของฉัน: // Modules &amp; Plugins var gulp = require('gulp'); var concat = require('gulp-concat'); var myth = require('gulp-myth'); var uglify = require('gulp-uglify'); var jshint = require('gulp-jshint'); var imagemin = require('gulp-imagemin'); // Styles Task gulp.task('styles', function() { return gulp.src('app/css/*.css') .pipe(concat('all.css')) .pipe(myth()) .pipe(gulp.dest('dist')); }); // Scripts Task gulp.task('scripts', function() { return …
127 javascript  gulp 

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