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

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

13
รวมไฟล์ JavaScript หลายไฟล์ไว้ในไฟล์ JS เดียว [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันใช้ jquery ในเว็บแอปพลิเคชันของฉันและฉันต้องการโหลดไฟล์สคริปต์ jquery เพิ่มเติมในหน้าเดียว Google แนะนำให้ฉันรวมไฟล์สคริปต์ jquery ทั้งหมดไว้ในไฟล์เดียว ฉันจะทำเช่นนี้ได้อย่างไร?

2
replaceState () เทียบกับ pushState ()
ฉันได้อ่านและค้นหาข้อดี / ข้อเสียระหว่าง&replaceState() pushState()อ่านบทความของ Mozilla และการทดสอบที่น่าสนใจนี้แต่ก็ยังไม่ชัดเจนสำหรับฉันถึงความแตกต่าง มีใครสนใจที่จะอธิบายในสิ่งที่พวกเขาแตกต่าง?
95 javascript  html 

9
สัญญา - เป็นไปได้ไหมที่จะบังคับให้ยกเลิกคำสัญญา
ฉันใช้ ES6 Promises เพื่อจัดการการดึงข้อมูลเครือข่ายทั้งหมดของฉันและมีบางสถานการณ์ที่ฉันจำเป็นต้องบังคับให้ยกเลิก โดยทั่วไปสถานการณ์จะเป็นเช่นนั้นฉันมีการค้นหาพิมพ์ล่วงหน้าบน UI ซึ่งคำขอถูกมอบหมายให้กับแบ็กเอนด์ต้องดำเนินการค้นหาตามอินพุตบางส่วน แม้ว่าคำขอเครือข่ายนี้ (# 1) อาจใช้เวลาสักหน่อย แต่ผู้ใช้ยังคงพิมพ์ต่อไปซึ่งจะเรียกใช้การเรียกแบ็กเอนด์อื่นในที่สุด (# 2) ที่นี่ # 2 โดยธรรมชาติจะมีความสำคัญเหนือ # 1 ดังนั้นฉันจึงต้องการยกเลิกคำขอตัดสัญญา # 1 ฉันมีแคชของสัญญาทั้งหมดในชั้นข้อมูลอยู่แล้วดังนั้นฉันจึงสามารถดึงข้อมูลได้ในทางทฤษฎีขณะที่ฉันพยายามส่งสัญญาสำหรับ # 2 แต่ฉันจะยกเลิก Promise # 1 ได้อย่างไรเมื่อฉันดึงมันจากแคช มีใครแนะนำแนวทางได้ไหม

6
การใช้ไวยากรณ์การแพร่กระจายและ Set () ใหม่ด้วย typescript
ฉันใช้รหัสต่อไปนี้เพื่อรับหมายเลขเฉพาะ: let uniques = [ ...new Set([1, 2, 3, 1, 1]) ]; // [1, 2, 3] อย่างไรก็ตาม typescript รายงานข้อผิดพลาดต่อไปนี้: Type 'Set' ไม่ใช่ประเภทอาร์เรย์ ฉันไม่ใช่นินจานักพิมพ์มีใครบอกได้ไหมว่ามีอะไรผิดปกติที่นี่?

9
การจับคู่ Forward Slash กับ regex
ฉันไม่ได้มีประสบการณ์มากกับ JavaScript แต่ฉันพยายามที่จะสร้างระบบแท็กที่แทนการใช้@หรือจะใช้#/ var start = /#/ig; // @ Match var word = /#(\w+)/ig; //@abc Match ฉันจะใช้ a /แทน#. ฉันได้ลองทำvar slash = '/'และเพิ่ม+ slash +แต่ล้มเหลว
95 javascript  regex 

11
นำเข้าไฟล์ JSON ใน React
ฉันเพิ่งเริ่มใช้ React และฉันกำลังพยายามนำเข้าDATAตัวแปรJSON จากไฟล์ภายนอก ฉันได้รับข้อผิดพลาดต่อไปนี้: ไม่พบโมดูล "./customData.json" ใครช่วยฉันได้บ้าง ใช้งานได้ถ้าฉันมีDATAตัวแปรของฉันindex.jsแต่ไม่ใช่เมื่ออยู่ในไฟล์ JSON ภายนอก index.js import React, {Component} from 'react'; import ReactDOM from 'react-dom'; import customData from './customData.json'; import Profile from './components/profile'; import Hobbies from './components/hobbies'; class App extends Component { render() { return ( <div> <Profile name={this.props.profileData.name}imgUrl={this.props.profileData.imgURL} /> <Hobbies hobbyList={this.props.profileData.hobbyList}/> </div> ); …

7
จะ getElementByClass แทน GetElementById ด้วย JavaScript ได้อย่างไร?
ฉันกำลังพยายามสลับการเปิดเผยองค์ประกอบ DIV บางอย่างบนเว็บไซต์โดยขึ้นอยู่กับคลาสของแต่ละ DIV ฉันกำลังใช้ข้อมูลโค้ด JavaScript พื้นฐานเพื่อสลับ ปัญหาคือสคริปต์ใช้เท่านั้นgetElementByIdเนื่องจากgetElementByClassไม่ได้รับการสนับสนุนใน JavaScript และน่าเสียดายที่ฉันต้องใช้คลาสและไม่ใช่ id เพื่อตั้งชื่อ DIV เนื่องจากชื่อ DIV ถูกสร้างขึ้นแบบไดนามิกโดยสไตล์ชีต XSLT ของฉันโดยใช้ชื่อหมวดหมู่บางประเภท ฉันรู้ว่าเบราว์เซอร์บางตัวรองรับgetElementByClassแล้ว แต่เนื่องจาก Internet Explorer ฉันไม่ต้องการไปเส้นทางนั้น ฉันพบสคริปต์ที่ใช้ฟังก์ชันเพื่อรับองค์ประกอบตามคลาส (เช่น # 8 ในหน้านี้: http://www.dustindiaz.com/top-ten-javascript/ ) แต่ฉันไม่สามารถหาวิธีรวมเข้าด้วยกันได้ ด้วยสคริปต์สลับของฉัน นี่คือโค้ด HTML DIV เองหายไปเนื่องจากถูกสร้างขึ้นในการโหลดหน้าด้วย XML / XSLT คำถามหลัก: ฉันจะรับสคริปต์ Toggle ด้านล่างเพื่อรับ Element by Class แทนการรับ Element by ID …

14
ส่งออกข้อมูลตาราง html ไปยัง Excel โดยใช้ JavaScript / JQuery ทำงานไม่ถูกต้องในเบราว์เซอร์ Chrome
ฉันมีตาราง HTML ในเทมเพลตความเร็ว ฉันต้องการส่งออกข้อมูลตาราง html ไปยัง excel โดยใช้ java script หรือ jquery, comatibale กับเบราว์เซอร์ทั้งหมด ฉันใช้สคริปต์ด้านล่าง <script type="text/javascript"> function ExportToExcel(mytblId){ var htmltable= document.getElementById('my-table-id'); var html = htmltable.outerHTML; window.open('data:application/vnd.ms-excel,' + encodeURIComponent(html)); } </script> สคริปต์นี้ทำงานได้ดีในMozilla Firefoxโดยจะปรากฏขึ้นพร้อมกับกล่องโต้ตอบของ excel และขอตัวเลือกเปิดหรือบันทึก แต่เมื่อฉันทดสอบสคริปต์เดียวกันในเบราว์เซอร์ Chrome มันไม่ทำงานตามที่คาดไว้เมื่อคลิกที่ปุ่มจะไม่มีป๊อปอัปสำหรับ excel ข้อมูลถูกดาวน์โหลดในไฟล์ที่มี "file type: file" ไม่มีนามสกุลเช่น. xls ไม่มีข้อผิดพลาดในคอนโซล Chrome ตัวอย่าง Jsfiddle: http://jsfiddle.net/insin/cmewv/ …

4
Jest: วิธีทดสอบคีย์ออบเจ็กต์และคุณสมบัติ
ฉันมีmapModuleที่ที่ฉันนำเข้าส่วนประกอบและส่งออก: import ComponentName from '../components/ComponentName'; export default { name: ComponentName, }; ฉันจะทดสอบได้อย่างไรว่าmapModuleมีคีย์ค่าที่ส่งออกที่ถูกต้องและไม่เป็นโมฆะหรือไม่ได้กำหนดไว้

13
แอพ Facebook: localhost ไม่ทำงานเป็นโดเมนแอพอีกต่อไป
ฉันเขียนเกมสำหรับ Facebook โดยใช้ Rails และ jQuery ตั้งแต่ฉันเริ่มใช้ Facebook Javascript SDK การใช้ localhost เป็นโดเมนของแอปดูเหมือนจะทำงานได้ดี ฉันสามารถทดสอบเกมของฉันได้ทั้งในเครื่องและบน Heroku ในวันที่ผ่านมาดูเหมือนว่า Facebook ได้ทำการอัปเดต UI ของนักพัฒนาซอฟต์แวร์ครั้งใหญ่ ตอนนี้ถ้าฉันเพิ่ม localhost เป็นโดเมนของแอปจะทำให้ฉันมีข้อผิดพลาดต่อไปนี้: สิ่งนี้ต้องได้มาจาก Canvas URL, Secure Canvas URL, URL ของไซต์, URL ของไซต์บนอุปกรณ์เคลื่อนที่, URL ของแท็บหน้าหรือ URL ของแท็บหน้าที่ปลอดภัย ตรวจสอบและแก้ไขโดเมนต่อไปนี้: localhost ตอนนี้เกมของฉันไม่ทำงานในเครื่องและฉันได้รับข้อผิดพลาดเมื่อ Javascript SDK เข้าสู่ระบบผู้ใช้: รหัสข้อผิดพลาด API: 191 คำอธิบายข้อผิดพลาด API: URL ที่ระบุไม่ได้เป็นของแอปพลิเคชัน …

8
แอป Node.js ไม่สามารถทำงานบนพอร์ต 80 แม้ว่าจะไม่มีกระบวนการอื่นใดที่บล็อกพอร์ต
ฉันใช้งานอินสแตนซ์ของ Debian บน Amazon EC2 ที่ติดตั้ง Node.js หากฉันเรียกใช้รหัสด้านล่าง: http = require('http'); http.createServer(function (request, response){ response.writeHead(200, {'Content-Type':'text/plain'}); response.end('Hello World\n'); }).listen(80); console.log("Running server at port 80"); ฉันได้รับผลลัพธ์ด้านล่างซึ่งบอกฉันว่ามีกระบวนการอื่นฟังที่พอร์ต 80: Running server at port 80 events.js:72 throw er; // Unhandled 'error' event ^ Error: listen EACCES at errnoException (net.js:901:11) at Server._listen2 (net.js:1020:19) at listen …

5
เหตุใดจึงใช้นิพจน์ฟังก์ชันที่มีชื่อ
เรามีสองวิธีที่แตกต่างกันในการแสดงฟังก์ชันใน JavaScript: นิพจน์ฟังก์ชันที่ตั้งชื่อ (NFE) : var boo = function boo () { alert(1); }; นิพจน์ฟังก์ชันที่ไม่ระบุชื่อ : var boo = function () { alert(1); }; boo();และทั้งสองของพวกเขาสามารถเรียกว่ามี ฉันไม่เห็นว่าทำไม / เมื่อใดที่ฉันควรใช้ฟังก์ชันที่ไม่ระบุตัวตนและเมื่อใดที่ฉันควรใช้นิพจน์ฟังก์ชันที่มีชื่อ อะไรคือความแตกต่างระหว่างพวกเขา?

5
ละเว้นการโต้ตอบของเมาส์บนภาพซ้อนทับ
ฉันมีแถบเมนูที่มีเอฟเฟกต์วางเมาส์และตอนนี้ฉันต้องการวางภาพโปร่งใสที่มีวงกลมและข้อความ "handdrawn" บนรายการเมนูรายการใดรายการหนึ่ง หากฉันใช้การวางตำแหน่งแบบสัมบูรณ์เพื่อวางภาพซ้อนทับเหนือรายการเมนูผู้ใช้จะไม่สามารถคลิกปุ่มและเอฟเฟกต์การวางเมาส์จะไม่ทำงาน มีวิธีใดบ้างที่จะปิดการใช้งานการโต้ตอบของเมาส์กับภาพซ้อนทับนี้เพื่อให้เมนูยังคงทำงานเหมือนเดิมแม้ว่าจะอยู่ใต้รูปภาพก็ตาม แก้ไข: เนื่องจากเมนูถูกสร้างขึ้นด้วย joomla ฉันจึงไม่สามารถปรับแต่งรายการเมนูใดรายการหนึ่งได้ และแม้ว่าฉันจะทำได้ แต่ฉันก็ไม่รู้สึกว่าโซลูชันจาวาสคริปต์นั้นเหมาะสม ในที่สุดฉันก็ "ทำเครื่องหมาย" รายการเมนูด้วยลูกศรที่อยู่นอกองค์ประกอบรายการเมนู ไม่ดีเท่าที่ฉันอยากให้เป็น แต่มันก็ใช้ได้ดีอยู่ดี

5
จะรับค่าที่ดัชนีเฉพาะของอาร์เรย์ใน JavaScript ได้อย่างไร?
ฉันมีอาร์เรย์และต้องการรับองค์ประกอบที่ดัชนี 1 var myValues = new Array(); var valueAtIndex1 = myValues.getValue(1); // (something like this) ฉันจะรับค่าที่ดัชนีที่ 1 ของอาร์เรย์ใน JavaScript ได้อย่างไร
94 javascript 

6
พิมพ์ PDF โดยตรงจาก JavaScript
ฉันกำลังสร้างรายการ PDF ใน HTML ในรายการฉันต้องการรวมลิงค์ดาวน์โหลดและปุ่ม / ลิงค์พิมพ์ มีวิธีใดบ้างที่จะเปิดกล่องโต้ตอบพิมพ์สำหรับ PDF โดยตรงโดยที่ผู้ใช้ไม่เห็น PDF หรือเปิดโปรแกรมดู PDF รูปแบบบางอย่างของการดาวน์โหลด PDF ลงใน iframe ที่ซ่อนอยู่และสั่งให้พิมพ์ด้วย JavaScript?
94 javascript  pdf 

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