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

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


23
การโอนอาเรย์สองมิติใน JavaScript
ฉันมีอาร์เรย์หลายอย่างเช่น: [ [1,2,3], [1,2,3], [1,2,3], ] ฉันต้องการจะแปลงมันเพื่อให้ได้อาเรย์ต่อไปนี้: [ [1,1,1], [2,2,2], [3,3,3], ] ไม่ใช่เรื่องยากที่จะเขียนโปรแกรมโดยใช้ลูป: function transposeArray(array, arrayLength){ var newArray = []; for(var i = 0; i < array.length; i++){ newArray.push([]); }; for(var i = 0; i < array.length; i++){ for(var j = 0; j < arrayLength; j++){ newArray[j].push(array[i][j]); }; }; return …

9
ฉันจะตรวจสอบได้อย่างไรว่าภาพพื้นหลังโหลดหรือไม่
ฉันต้องการตั้งค่าภาพพื้นหลังบนแท็ก body จากนั้นเรียกใช้โค้ดบางอย่าง - เช่นนี้ $('body').css('background-image','http://picture.de/image.png').load(function() { alert('Background image done loading'); // This doesn't work }); ฉันจะแน่ใจได้อย่างไรว่าภาพพื้นหลังโหลดเต็มแล้ว
154 javascript  jquery 

13
จะรับการแจ้งเตือนเกี่ยวกับการเปลี่ยนแปลงของประวัติผ่าน history.pushState ได้อย่างไร?
ดังนั้นตอนนี้ที่ HTML5 แนะนำhistory.pushStateให้เปลี่ยนประวัติเบราว์เซอร์เว็บไซต์เริ่มใช้สิ่งนี้ร่วมกับ Ajax แทนที่จะเปลี่ยนตัวระบุส่วนของ URL onhashchangeน่าเศร้าที่ว่าหมายความว่าสายที่ไม่สามารถตรวจสอบอีกต่อไปโดย คำถามของฉันคือ:มีวิธีที่เชื่อถือได้ (แฮก?;)) เพื่อตรวจสอบเมื่อเว็บไซต์ใช้history.pushState? ข้อมูลจำเพาะไม่ได้ระบุอะไรเกี่ยวกับเหตุการณ์ที่เกิดขึ้น (อย่างน้อยฉันก็ไม่พบอะไรเลย) ฉันพยายามสร้างซุ้มและแทนที่window.historyด้วยวัตถุ JavaScript ของตัวเอง แต่มันก็ไม่มีผลอะไรเลย คำอธิบายเพิ่มเติม:ฉันกำลังพัฒนาโปรแกรมเสริมของ Firefox ที่ต้องการตรวจจับการเปลี่ยนแปลงเหล่านี้และดำเนินการตามนั้น ฉันรู้ว่ามีคำถามคล้ายกันเมื่อไม่กี่วันที่ผ่านมาที่ถามว่าการฟังเหตุการณ์ DOMบางอย่างจะมีประสิทธิภาพหรือไม่ แต่ฉันก็ไม่เชื่อใจเพราะเหตุการณ์เหล่านี้สามารถสร้างขึ้นได้ด้วยเหตุผลหลายประการ ปรับปรุง: นี่คือ jsfiddle (ใช้ Firefox 4 หรือ Chrome 8) ที่แสดงว่าonpopstateไม่ถูกเรียกเมื่อpushStateมีการเรียก (หรือฉันทำสิ่งผิดปกติหรือไม่รู้สึกฟรีเพื่อปรับปรุง!) อัปเดต 2: ปัญหา (ด้าน) อีกอย่างwindow.locationคือไม่ได้รับการอัปเดตเมื่อใช้pushState(แต่ฉันได้อ่านเกี่ยวกับสิ่งนี้ที่นี่แล้วดังนั้นฉันคิดว่า)

10
แสดงผล html ดิบด้วย reactjs
นี่เป็นวิธีเดียวที่จะแสดงผล html ดิบด้วย reactjs หรือไม่ // http://facebook.github.io/react/docs/tutorial.html // tutorial7.js var converter = new Showdown.converter(); var Comment = React.createClass({ render: function() { var rawMarkup = converter.makeHtml(this.props.children.toString()); return ( <div className="comment"> <h2 className="commentAuthor"> {this.props.author} </h2> <span dangerouslySetInnerHTML={{__html: rawMarkup}} /> </div> ); } }); ฉันรู้ว่ามีวิธีเจ๋ง ๆ ในการทำมาร์กอัพเนื้อหาด้วย JSX แต่ฉันสนใจที่จะแสดง html แบบ raw (ด้วยคลาสทั้งหมด, …

11
การวางแนว Exif ของไคลเอ็นต์ JS: การหมุนและมิเรอร์ไฟล์ JPEG
ภาพถ่ายจากกล้องดิจิทัลมักถูกบันทึกเป็น JPEG พร้อมแท็ก "การวางแนว" EXIF หากต้องการแสดงอย่างถูกต้องรูปภาพจะต้องหมุน / ทำมิรเรอร์ตามทิศทางที่ตั้งไว้ แต่เบราว์เซอร์จะไม่สนใจข้อมูลที่แสดงภาพ แม้จะอยู่ในเว็บแอปเชิงพาณิชย์ขนาดใหญ่, การสนับสนุนสำหรับการวางแนว EXIF สามารถเป็นจุด ๆ1 แหล่งข้อมูลเดียวกันยังให้บทสรุปที่ดีเกี่ยวกับทิศทางที่แตกต่างกัน 8 แบบที่ JPEG สามารถมี: ภาพตัวอย่างมีให้บริการที่4 คำถามคือวิธีหมุน / ทำมิเรอร์รูปภาพทางฝั่งไคลเอ็นต์เพื่อให้แสดงอย่างถูกต้องและสามารถประมวลผลเพิ่มเติมถ้าจำเป็น มี JS ไลบรารีที่มีการแยกข้อมูล EXIF รวมทั้งแอตทริบิวต์การวางแนวทางที่มี2 Flickr ตั้งข้อสังเกตปัญหาประสิทธิภาพการทำงานเป็นไปได้เมื่อแยกภาพขนาดใหญ่ต้องใช้ webworkers 3 เครื่องมือคอนโซลได้อย่างถูกต้องสามารถ re-ปรับทิศทางภาพที่5 สคริปต์ PHP ในการแก้ปัญหามีให้ที่6

16
ชื่อตัวแปรเป็นสตริงใน Javascript
มีวิธีรับชื่อตัวแปรเป็นสตริงใน Javascript หรือไม่? (เหมือนNSStringFromSelectorในโกโก้ ) ฉันต้องการทำสิ่งนี้: var myFirstName = 'John'; alert(variablesName(myFirstName) + ":" + myFirstName); --> myFirstName:John UPDATE ฉันพยายามเชื่อมต่อเบราว์เซอร์และโปรแกรมอื่นโดยใช้ JavaScript ฉันต้องการส่งชื่ออินสแตนซ์จากเบราว์เซอร์ไปยังโปรแกรมอื่นสำหรับวิธีการโทรกลับ: FooClass = function(){}; FooClass.someMethod = function(json) { // Do something } instanceA = new FooClass(); instanceB = new FooClass(); doSomethingInAnotherProcess(instanceB); // result will be substituted by using instanceB.someMethod(); ... …
154 javascript 


30
ประเภทอินพุต = ไฟล์แสดงเฉพาะปุ่ม
มีวิธีการสไตล์<input type=file />องค์ประกอบ(หรือสคริปต์) ที่จะมองเห็นได้เฉพาะปุ่ม "เรียกดู" โดยไม่มีฟิลด์ข้อความ? ขอบคุณ แก้ไข : เพียงชี้แจงว่าทำไมฉันถึงต้องการสิ่งนี้ ฉันกำลังใช้รหัสอัปโหลดไฟล์หลายไฟล์จากhttp://www.morningz.com/?p=5และไม่จำเป็นต้องป้อนฟิลด์ข้อความเพราะมันไม่มีค่า สคริปต์เพิ่งเพิ่มไฟล์ที่เลือกใหม่เพื่อรวบรวมในหน้า มันจะดูดีขึ้นมากหากไม่มีฟิลด์ข้อความถ้าเป็นไปได้
154 javascript  html  css 

13
จะใช้ z-index ในองค์ประกอบ svg ได้อย่างไร?
ฉันใช้แวดวง svg ในโครงการของฉันเช่นนี้ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 120"> <g> <g id="one"> <circle fill="green" cx="100" cy="105" r="20" /> </g> <g id="two"> <circle fill="orange" cx="100" cy="95" r="20" /> </g> </g> </svg> และฉันใช้ดัชนี z ในgแท็กเพื่อแสดงองค์ประกอบแรก ในโครงการของฉันฉันต้องใช้เฉพาะค่าดัชนี z แต่ฉันไม่สามารถใช้ดัชนี z กับองค์ประกอบ svg ของฉันได้ ฉันเที่ยวมาก แต่ก็ไม่ค่อยเจออะไรเลย ดังนั้นโปรดช่วยฉันใช้ z-index ใน svg ของฉัน นี่คือDEMO

6
ใช้จัสมินเพื่อสอดแนมฟังก์ชั่นที่ไม่มีวัตถุ
ฉันยังใหม่กับจัสมีนและเพิ่งเริ่มใช้มัน ฉันมีไฟล์ไลบรารี js ที่มีฟังก์ชั่นมากมายซึ่งไม่เกี่ยวข้องกับวัตถุใด ๆ (เช่นเป็นระดับโลก) ฉันจะไปสืบเรื่องฟังก์ชันเหล่านี้ได้อย่างไร ฉันพยายามใช้หน้าต่าง / เอกสารเป็นวัตถุ แต่สายลับไม่ทำงานแม้ว่าจะมีการเรียกใช้ฟังก์ชัน ฉันพยายามห่อด้วยวัตถุปลอมดังนี้: var fakeElement = {}; fakeElement.fakeMethod = myFunctionName; spyOn(fakeElement, "fakeMethod"); และทดสอบด้วย expect(fakeElement.fakeMethod).toHaveBeenCalled(); สิ่งนี้ไม่ได้ผลเช่นเดียวกับสายลับไม่ทำงาน

5
จะบันทึกภาพไปยัง localStorage และแสดงในหน้าถัดไปได้อย่างไร?
ดังนั้นโดยทั่วไปฉันต้องอัปโหลดภาพเดียวบันทึกลงใน localStorage จากนั้นแสดงในหน้าถัดไป ขณะนี้ฉันมีการอัปโหลดไฟล์ HTML ของฉัน: <input type='file' id="uploadBannerImage" onchange="readURL(this);" /> ซึ่งใช้ฟังก์ชั่นนี้เพื่อแสดงภาพบนหน้า function readURL(input) { document.getElementById("bannerImg").style.display = "block"; if (input.files && input.files[0]) { var reader = new FileReader(); reader.onload = function (e) { document.getElementById('bannerImg').src = e.target.result; } reader.readAsDataURL(input.files[0]); } } ภาพจะปรากฏขึ้นทันทีบนหน้าเพื่อให้ผู้ใช้เห็น พวกเขาจะถูกขอให้กรอกแบบฟอร์มที่เหลือ ส่วนนี้ทำงานได้อย่างสมบูรณ์ เมื่อแบบฟอร์มเสร็จสมบูรณ์แล้วพวกเขาก็กดปุ่ม 'บันทึก' เมื่อกดปุ่มนี้ฉันจะบันทึกอินพุตแบบฟอร์มทั้งหมดเป็นlocalStorageสตริง ฉันต้องการวิธีในการบันทึกภาพเป็นlocalStorageรายการด้วย ปุ่มบันทึกจะนำพวกเขาไปยังหน้าใหม่ หน้าใหม่นี้จะแสดงข้อมูลผู้ใช้ในตารางโดยมีรูปภาพอยู่ด้านบน ดังนั้นธรรมดาและเรียบง่ายที่ฉันต้องการที่จะบันทึกภาพในlocalStorageครั้งเดียว …

13
ฉันจะส่งแบบฟอร์มการอัปโหลดอัตโนมัติเมื่อไฟล์ถูกเลือกได้อย่างไร
ฉันมีรูปแบบการอัปโหลดไฟล์ที่เรียบง่าย ฉันจะทำให้มันส่งโดยอัตโนมัติได้อย่างไรเมื่อเลือกไฟล์แล้ว? ฉันไม่ต้องการให้ผู้ใช้คลิกปุ่มส่ง
154 javascript  html 

23
คัดลอกโฟลเดอร์ซ้ำใน node.js
มีวิธีที่ง่ายกว่าในการคัดลอกโฟลเดอร์และเนื้อหาทั้งหมดโดยไม่ต้องทำตามลำดับด้วยตนเอง fs.readir , fs.readfile, fs.writefileซ้ำ? เพียงแค่สงสัยว่าฉันขาดฟังก์ชั่นใดที่จะใช้งานได้ดีเช่นนี้ fs.copy("/path/to/source/folder","/path/to/destination/folder");

9
สตริงวันที่ momentJS เพิ่ม 5 วัน
ฉันมีสตริงวันที่เริ่มต้น "20.03.2014" และฉันต้องการเพิ่ม 5 วันในขณะนี้ด้วย moment.js แต่ฉันไม่ได้รับวันที่ใหม่ "25.03.2014" ในหน้าต่างการแจ้งเตือน ที่นี่รหัสจาวาสคริปต์ของฉัน: startdate = "20.03.2014"; var new_date = moment(startdate, "DD-MM-YYYY").add("DD-MM-YYYY", 5); alert(new_date); ที่นี่ jsfiddle ของฉัน: http://jsfiddle.net/jbgUt/1/ ฉันจะแก้ปัญหานี้อย่างไร ฉันชอบรูปแบบสตริงนี้ "25.03.2014" หวังว่าใครบางคนสามารถช่วยฉันได้
154 javascript  momentjs  add  days 

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