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

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

1
พยายามโหลด jquery ลงในสคริปต์ tampermonkey
ฉันกำลังเขียนสคริปต์ที่ล็อกเข้าสู่เครือข่ายวิทยาลัยของฉันเมื่อโหลดหน้าเข้าสู่ระบบ โค้ดมีลักษณะดังนี้ // ==UserScript== // @name My Fancy New Userscript // @namespace http://use.i.E.your.homepage/ // @version 0.1 // @description enter something useful // @match <College login page> // @copyright 2012+, You // ==/UserScript== $(document).ready(function() { var usr=document.getElementsByName("username"); var pass = document.getElementByName("password"); usr.value="usrname"; pass.value="password"; var submitButton = document.querySelector ('input[type="submit"][value="Login"]'); var clickEvent = …

10
วิธีการวาดเส้นโค้งที่ราบรื่นผ่านจุด N โดยใช้ผ้าใบ HTML5 ของจาวาสคริปต์
สำหรับแอปพลิเคชันการวาดภาพฉันกำลังบันทึกพิกัดการเคลื่อนที่ของเมาส์ไปยังอาร์เรย์แล้ววาดด้วย lineTo เส้นที่เกิดจะไม่เรียบ ฉันจะสร้างเส้นโค้งเดียวระหว่างจุดที่รวบรวมทั้งหมดได้อย่างไร ฉัน googled แต่ฉันได้พบเพียง 3 ฟังก์ชั่นสำหรับการวาดเส้น: สำหรับ 2 lineToจุดตัวอย่างการใช้งานเพียงแค่ สำหรับ 3 จุดตัวอย่างquadraticCurveToสำหรับ 4 จุดตัวอย่าง, bezierCurveTo. (ฉันพยายามวาดจุดbezierCurveToทุกๆ 4 จุดในอาร์เรย์ แต่สิ่งนี้ทำให้เกิดการหักงอทุกๆ 4 จุดตัวอย่างแทนที่จะเป็นเส้นโค้งที่ราบรื่นต่อเนื่อง) ฉันจะเขียนฟังก์ชันเพื่อวาดเส้นโค้งที่ราบรื่นโดยมีจุดตัวอย่าง 5 จุดขึ้นไปได้อย่างไร

17
การเชื่อมต่อ Redis ไปยัง 127.0.0.1:6379 ล้มเหลว - เชื่อมต่อ ECONNREFUSED
ฉันทำงานกับ node.js โดย expressjs ฉันพยายามจัดเก็บบัญชีในเซสชัน ดังนั้นฉันจึงพยายามทดสอบเพื่อใช้เซสชันกับโค้ดในexpressjs var RedisStore = require('connect-redis')(express); app.use(express.bodyParser()); app.use(express.cookieParser()); app.use(express.session({ secret: "keyboard cat", store: new RedisStore })); แต่ฉันพบข้อผิดพลาด Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSEDแต่ผมมีข้อผิดพลาดโปรดช่วยฉันแก้ไขปัญหานี้

10
var.replace ไม่ใช่ฟังก์ชัน
ฉันใช้รหัสด้านล่างเพื่อพยายามตัดสตริงใน Javascript แต่ได้รับข้อผิดพลาดที่กล่าวถึงในชื่อเรื่อง: function trim(str) { return str.replace(/^\s+|\s+$/g,''); } แก้ไข: ฉันแก้ไขปัญหาแล้ว .... ขออภัยฉันควรใส่รหัสว่าฉันเรียกมันอย่างไรด้วย .... ตระหนักว่าฉันบังเอิญส่งวัตถุของฟิลด์แบบฟอร์มเองแทนที่จะเป็นค่าของมัน
133 javascript 

6
setState () ภายใน componentDidUpdate ()
ฉันกำลังเขียนสคริปต์ที่เลื่อนลงด้านล่างหรือด้านบนของอินพุตขึ้นอยู่กับความสูงของดรอปดาวน์และตำแหน่งของอินพุตบนหน้าจอ นอกจากนี้ฉันต้องการตั้งค่าตัวปรับเปลี่ยนเป็นแบบเลื่อนลงตามทิศทางของมัน แต่ใช้setStateภายในของการcomponentDidUpdateสร้างลูปที่ไม่มีที่สิ้นสุด (ซึ่งเห็นได้ชัด) ฉันพบวิธีแก้ปัญหาในการใช้getDOMNodeและการตั้งชื่อคลาสเป็นแบบเลื่อนลงโดยตรง แต่ฉันรู้สึกว่าควรมีวิธีแก้ปัญหาที่ดีกว่าโดยใช้เครื่องมือ React ใครสามารถช่วยฉัน? นี่คือส่วนหนึ่งของรหัสการทำงานด้วยgetDOMNode(ia ตรรกะการวางตำแหน่งที่ถูกละเลยเล็กน้อยเพื่อลดความซับซ้อนของรหัส) let SearchDropdown = React.createClass({ componentDidUpdate(params) { let el = this.getDOMNode(); el.classList.remove('dropDown-top'); if(needToMoveOnTop(el)) { el.top = newTopValue; el.right = newRightValue; el.classList.add('dropDown-top'); } }, render() { let dataFeed = this.props.dataFeed; return ( <DropDown > {dataFeed.map((data, i) => { return (<DropDownRow key={response.symbol} data={data}/>); …

14
อัปเดตรูปแบบของคอมโพเนนต์ onScroll ใน React.js
ฉันได้สร้างส่วนประกอบใน React ซึ่งควรจะอัปเดตสไตล์ของตัวเองในการเลื่อนหน้าต่างเพื่อสร้างเอฟเฟกต์พารัลแลกซ์ renderวิธีส่วนประกอบมีลักษณะดังนี้: function() { let style = { transform: 'translateY(0px)' }; window.addEventListener('scroll', (event) => { let scrollTop = event.srcElement.body.scrollTop, itemTranslate = Math.min(0, scrollTop/3 - 60); style.transform = 'translateY(' + itemTranslate + 'px)'); }); return ( <div style={style}></div> ); } วิธีนี้ใช้ไม่ได้เนื่องจาก React ไม่ทราบว่าส่วนประกอบมีการเปลี่ยนแปลงดังนั้นองค์ประกอบจึงไม่ได้รับการแสดงผล ฉันได้ลองจัดเก็บค่าitemTranslateในสถานะของส่วนประกอบและเรียกsetStateในการเรียกกลับแบบเลื่อน อย่างไรก็ตามสิ่งนี้ทำให้การเลื่อนไม่สามารถใช้งานได้เนื่องจากช้ามาก ข้อเสนอแนะเกี่ยวกับวิธีการทำสิ่งนี้หรือไม่?

7
ไม่สามารถดำเนินการ 'btoa' บน 'Window': สตริงที่จะเข้ารหัสมีอักขระที่อยู่นอกช่วง Latin1
ข้อผิดพลาดในชื่อปรากฏเฉพาะใน Google Chrome ตามการทดสอบของฉัน ฉันกำลังเข้ารหัสไฟล์ XML ขนาดใหญ่ base64 เพื่อให้สามารถดาวน์โหลดได้: this.loader.src = "data:application/x-forcedownload;base64,"+ btoa("<?xml version=\"1.0\" encoding=\"utf-8\"?>" +"<"+this.gamesave.tagName+">" +this.xml.firstChild.innerHTML +"</"+this.gamesave.tagName+">"); this.loader ซ่อน iframe ข้อผิดพลาดนี้ค่อนข้างเปลี่ยนแปลงเพราะโดยปกติแล้ว Google Chrome จะขัดข้องเมื่อมีการbtoaโทร Mozilla Firefox ไม่มีปัญหาที่นี่ปัญหาจึงเกี่ยวข้องกับเบราว์เซอร์ ฉันไม่ทราบว่ามีอักขระแปลก ๆ ในไฟล์ อันที่จริงฉันเชื่อว่าไม่มีอักขระที่ไม่ใช่ ascii ถาม: ฉันจะค้นหาอักขระที่มีปัญหาและแทนที่เพื่อให้ Chrome หยุดบ่นได้อย่างไร ฉันได้พยายามใช้ Downloadify เพื่อเริ่มการดาวน์โหลด แต่ไม่ได้ผล ไม่น่าเชื่อถือและไม่มีข้อผิดพลาดใด ๆ เพื่อให้สามารถแก้ไขข้อบกพร่องได้

7
Javascript และ regex: แยกสตริงและเก็บตัวคั่น
ฉันมีสตริง: var string = "aaaaaa<br />† bbbb<br />‡ cccc" และฉันต้องการแยกสตริงนี้ด้วยตัวคั่น<br />ตามด้วยอักขระพิเศษ ในการทำเช่นนั้นฉันใช้สิ่งนี้: string.split(/<br \/>&#?[a-zA-Z0-9]+;/g); ฉันได้รับสิ่งที่ต้องการยกเว้นว่าฉันสูญเสียตัวคั่น นี่คือตัวอย่าง: http://jsfiddle.net/JwrZ6/1/ ฉันจะเก็บตัวคั่นไว้ได้อย่างไร
133 javascript  regex 

30
Node.js Port 3000 ถูกใช้งานแล้ว แต่จริง ๆ แล้วไม่ใช่หรือ?
ฉันทำงานกับโปรเจ็กต์ node.js มาสองสามสัปดาห์แล้วและมันก็ใช้งานได้ดี โดยปกติฉันใช้npm startเพื่อเรียกใช้แอปของฉันและดูในเบราว์เซอร์บน localhost พอร์ต 3000 วันนี้ฉันเริ่มได้รับข้อผิดพลาดต่อไปนี้ขณะใช้ npm start: Server started on port 3000 Port 3000 is already in use ฉันได้ตรวจสอบการตรวจสอบทรัพยากรแล้วและฉันไม่มีกระบวนการอื่นใดที่ทำงานบนพอร์ต 3000 เหตุใดฉันจึงได้รับข้อความแสดงข้อผิดพลาดนี้ ใน app.js ของฉันฉันมีรหัสต่อไปนี้เพื่อตั้งค่าพอร์ต ... ไม่ถูกต้องหรือไม่? ก่อนหน้านี้ใช้งานได้ดีเลยไม่แน่ใจว่าตัวเองทำอะไรผิด // Set Port app.set('port', (process.env.PORT || 3000)); app.listen(app.get('port'), function() { console.log('Server started on port '+app.get('port')); }); ขอบคุณสำหรับความช่วยเหลือ! แก้ไข: ฉันได้ลองเรียกใช้ …
133 javascript  node.js  npm  port 

8
ไม่สามารถเรียกใช้งาน 'createObjectURL' บน 'URL':
แสดงด้านล่างข้อผิดพลาดใน Safari ไม่สามารถเรียกใช้งาน 'createObjectURL' บน 'URL': ไม่พบฟังก์ชันที่ตรงกับลายเซ็นที่ให้ไว้ รหัสของฉันคือ: function createObjectURL(object) { return (window.URL) ? window.URL.createObjectURL(object) : window.webkitURL.createObjectURL(object); } นี่คือรหัสสำหรับรูปภาพ: function myUploadOnChangeFunction() { if (this.files.length) { for (var i in this.files) { if (this.files.hasOwnProperty(i)) { var src = createObjectURL(this.files[i]); var image = new Image(); image.src = src; imagSRC = src; $('#img').attr('src', …

4
เป็นไปได้หรือไม่ที่จะใช้ตัวรับสัญญาณ / ตัวตั้งค่าแบบไดนามิกใน JavaScript
ฉันรู้วิธีสร้าง getters และ setters สำหรับคุณสมบัติที่มีชื่ออยู่แล้วโดยทำสิ่งนี้: // A trivial example: function MyObject(val){ this.count = 0; this.value = val; } MyObject.prototype = { get value(){ return this.count < 2 ? "Go away" : this._value; }, set value(val){ this._value = val + (++this.count); } }; var a = new MyObject('foo'); alert(a.value); // --> …

23
wrapper ที่เหมาะสมสำหรับ console.log ด้วยหมายเลขบรรทัดที่ถูกต้อง?
ตอนนี้ฉันกำลังพัฒนาแอปพลิเคชันและวางisDebugสวิตช์ส่วนกลาง ฉันต้องการที่จะห่อconsole.logเพื่อการใช้งานที่สะดวกมากขึ้น //isDebug controls the entire site. var isDebug = true; //debug.js function debug(msg, level){ var Global = this; if(!(Global.isDebug && Global.console && Global.console.log)){ return; } level = level||'info'; Global.console.log(level + ': '+ msg); } //main.js debug('Here is a msg.'); จากนั้นฉันจะได้ผลลัพธ์นี้ในคอนโซล Firefox info: Here is a msg. debug.js (line 8) …
132 javascript 

6
เปลี่ยน URL และเปลี่ยนเส้นทางโดยใช้ jQuery
ฉันมีรหัสแบบนี้ <form id="abc"> <input type="text" id="txt" /> </form> และตอนนี้ฉันต้องการเปลี่ยนเส้นทางเช่นนี้ var temp = $("#txt").val(); url = "http://example.com/" + temp; window.location.replace(url); // or window.location(url); มีอยู่แล้วใน jQuery เพื่อแก้ปัญหานี้หรือไม่? url = http://example.comมันก็ยังคงช่วยให้ฉันมี

8
ดาวน์โหลดไฟล์จากวิธี ASP.NET Web API โดยใช้ AngularJS
ในโครงการ Angular JS ของฉันฉันมี<a>แท็กจุดยึดซึ่งเมื่อคลิกจะGETส่งคำขอHTTP ไปยังเมธอด WebAPI ที่ส่งคืนไฟล์ ตอนนี้ฉันต้องการให้ดาวน์โหลดไฟล์ไปยังผู้ใช้เมื่อคำขอสำเร็จ ฉันจะทำอย่างไร แท็กจุดยึด: <a href="#" ng-click="getthefile()">Download img</a> AngularJS: $scope.getthefile = function () { $http({ method: 'GET', cache: false, url: $scope.appPath + 'CourseRegConfirm/getfile', headers: { 'Content-Type': 'application/json; charset=utf-8' } }).success(function (data, status) { console.log(data); // Displays text data if the file is a text …

3
ในสถาปัตยกรรม Flux คุณจัดการวงจรชีวิตของ Store ได้อย่างไร
ฉันกำลังอ่านเกี่ยวกับFluxแต่ตัวอย่างแอป Todoนั้นง่ายเกินไปสำหรับฉันที่จะเข้าใจประเด็นสำคัญบางประการ ลองนึกภาพแอปหน้าเดียวเช่น Facebook ที่มีหน้าโปรไฟล์ของผู้ใช้ ในหน้าโปรไฟล์ผู้ใช้แต่ละหน้าเราต้องการแสดงข้อมูลผู้ใช้บางส่วนและโพสต์ล่าสุดของพวกเขาด้วยการเลื่อนที่ไม่สิ้นสุด เราสามารถนำทางจากโปรไฟล์ผู้ใช้หนึ่งไปยังอีกโปรไฟล์หนึ่งได้ ในสถาปัตยกรรม Flux สิ่งนี้จะสอดคล้องกับ Stores และ Dispatchers อย่างไร เราจะใช้หนึ่งคนPostStoreต่อผู้ใช้หรือเราจะมีร้านค้าระดับโลกบ้างไหม? แล้วผู้มอบหมายงานเราจะสร้างผู้มอบหมายงานใหม่สำหรับ "หน้าผู้ใช้" แต่ละหน้าหรือจะใช้ซิงเกิลตัน สุดท้ายส่วนใดของสถาปัตยกรรมที่รับผิดชอบในการจัดการวงจรชีวิตของร้านค้า“ เฉพาะเพจ” เพื่อตอบสนองต่อการเปลี่ยนแปลงเส้นทาง ยิ่งไปกว่านั้นหน้าหลอกหน้าเดียวอาจมีรายการข้อมูลประเภทเดียวกันหลายรายการ ยกตัวอย่างเช่นในหน้าโปรไฟล์ของผมต้องการที่จะแสดงทั้งติดตามและดังต่อไปนี้ Singleton สามารถUserStoreทำงานได้อย่างไรในกรณีนี้? จะUserPageStoreจัดการfollowedBy: UserStoreและfollows: UserStore?

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