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

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

19
เฟรมบัสเตอร์บัสเตอร์ ... จำเป็นต้องใช้รหัสบัสเตอร์
สมมติว่าคุณไม่ต้องการให้เว็บไซต์อื่น ๆ "ใส่เฟรม" ไซต์ของคุณใน<iframe>: <iframe src="http://example.org"></iframe> ดังนั้นคุณจึงใส่ JavaScript ป้องกันการวางเฟรมลงในหน้าเว็บของคุณทั้งหมด: /* break us out of any containing iframes */ if (top != self) { top.location.replace(self.location.href); } ยอดเยี่ยม ตอนนี้คุณ "หยุด" หรือแยกออกจาก iframe ใด ๆ ที่มีโดยอัตโนมัติ ยกเว้นปัญหาเล็ก ๆ อย่างหนึ่ง ในฐานะที่เป็นมันจะเปิดออกรหัสกรอบ busting ของคุณสามารถจับ , ตามที่แสดงไว้ที่นี่ : <script type="text/javascript"> var prevent_bust = 0 window.onbeforeunload = …

19
Rails 4: วิธีใช้ $ (เอกสาร) .ready () พร้อมลิงค์เทอร์โบ
ฉันพบปัญหาในแอป Rails 4 ของฉันในขณะที่พยายามจัดระเบียบไฟล์ JS "ทางรถไฟ" ก่อนหน้านี้พวกเขากระจัดกระจายในมุมมองที่แตกต่างกัน ฉันจัดระเบียบพวกเขาเป็นไฟล์แยกต่างหากและรวบรวมพวกเขาด้วยท่อสินทรัพย์ อย่างไรก็ตามฉันเพิ่งรู้ว่าเหตุการณ์ "พร้อม" ของ jQuery ไม่ได้เกิดจากการคลิกครั้งต่อไปเมื่อเปิดการเชื่อมโยงแบบเทอร์โบ ครั้งแรกที่คุณโหลดหน้าเว็บ แต่เมื่อคุณคลิกลิงก์สิ่งใดก็ตามที่อยู่ภายในready( function($) {จะไม่ถูกดำเนินการ (เนื่องจากหน้าเว็บไม่ได้โหลดอีกครั้ง) คำอธิบายที่ดี: ที่นี่ ดังนั้นคำถามของฉันคืออะไรวิธีที่เหมาะสมเพื่อให้แน่ใจว่าเหตุการณ์ jQuery ทำงานอย่างถูกต้องในขณะที่ลิงค์เทอร์โบเปิดอยู่ คุณใส่สคริปต์ในตัวฟังเฉพาะของ Rails หรือไม่? หรือราวอาจมีเวทมนตร์ที่ทำให้มันไม่จำเป็น? เอกสารนั้นค่อนข้างคลุมเครือเกี่ยวกับวิธีการใช้งานโดยเฉพาะอย่างยิ่งการโหลดไฟล์หลายไฟล์ผ่านไฟล์ Manifest เช่น application.js

15
จะวนซ้ำวัตถุ JavaScript ได้อย่างไร
ฉันมีวัตถุใน JavaScript: { abc: '...', bca: '...', zzz: '...', xxx: '...', ccc: '...', // ... } ฉันต้องการใช้การforวนซ้ำเพื่อรับคุณสมบัติ และฉันต้องการวนซ้ำในส่วน (ไม่ใช่คุณสมบัติของวัตถุทั้งหมดในครั้งเดียว) ด้วยอาร์เรย์ที่เรียบง่ายฉันสามารถทำได้ด้วยforลูปมาตรฐาน: for (i = 0; i < 100; i++) { ... } // first part for (i = 100; i < 300; i++) { ... } // second for (i = …

24
ฉันจะตรวจสอบองค์ประกอบที่มีอยู่ใน DOM ที่มองเห็นได้อย่างไร
คุณจะทดสอบองค์ประกอบของการดำรงอยู่ได้อย่างไรโดยไม่ต้องใช้ getElementByIdวิธีการได้อย่างไร? ฉันได้ตั้งค่าการสาธิตสดสำหรับการอ้างอิง ฉันจะพิมพ์รหัสที่นี่เช่นกัน: <!DOCTYPE html> <html> <head> <script> var getRandomID = function (size) { var str = "", i = 0, chars = "0123456789abcdefghijklmnopqurstuvwxyzABCDEFGHIJKLMNOPQURSTUVWXYZ"; while (i < size) { str += chars.substr(Math.floor(Math.random() * 62), 1); i++; } return str; }, isNull = function (element) { var randomID = getRandomID(12), …

30
คุณโคลน Array of Objects ใน Javascript ได้อย่างไร
... ที่แต่ละวัตถุมีการอ้างอิงถึงวัตถุอื่นภายในอาเรย์เดียวกันหรือไม่ เมื่อฉันแรกเกิดขึ้นกับปัญหานี้ฉันแค่คิดอะไรบางอย่างเช่น var clonedNodesArray = nodesArray.clone() จะมีอยู่และค้นหาข้อมูลเกี่ยวกับวิธีการโคลนวัตถุใน javascript ฉันหาคำถามเกี่ยวกับ StackOverflow (ตอบโดย @JohnResig เดียวกัน) และเขาชี้ให้เห็นว่าด้วย jQuery คุณสามารถทำได้ var clonedNodesArray = jQuery.extend({}, nodesArray); เพื่อโคลนวัตถุ ฉันพยายามทำสิ่งนี้คัดลอกการอ้างอิงของวัตถุในอาร์เรย์เท่านั้น ดังนั้นถ้าฉัน nodesArray[0].value = "red" clonedNodesArray[0].value = "green" ค่าของ nodesArray ทั้งสอง [0] และ clonedNodesArray [0] จะกลายเป็น "สีเขียว" จากนั้นฉันก็ลอง var clonedNodesArray = jQuery.extend(true, {}, nodesArray); ซึ่งลึกลงไปคัดลอก Object แต่ฉันได้รับข้อความ …
421 javascript 

22
การทำให้โทเค็น JSON Web Tokens ไม่ถูกต้อง
สำหรับโครงการใหม่ node.js ที่ฉันกำลังทำงานฉันกำลังคิดที่จะเปลี่ยนจากวิธีเซสชันแบบใช้คุกกี้ (โดยสิ่งนี้ฉันหมายถึงการจัดเก็บรหัสไปยังที่เก็บคีย์ - ค่าที่มีเซสชันผู้ใช้ในเบราว์เซอร์ของผู้ใช้) สู่แนวทางเซสชันที่ใช้โทเค็น (ไม่มีที่เก็บคีย์ - ค่า) โดยใช้ JSON Web Tokens (jwt) โครงการนี้เป็นเกมที่ใช้ socket.io - การมีเซสชันที่ใช้โทเค็นจะเป็นประโยชน์ในสถานการณ์ดังกล่าวซึ่งจะมีช่องทางการสื่อสารหลายช่องในเซสชันเดียว (เว็บและ socket.io) หนึ่งจะให้โทเค็น / เซสชั่นไม่ถูกต้องจากเซิร์ฟเวอร์โดยใช้วิธีการ jwt? ฉันยังต้องการที่จะเข้าใจถึงข้อผิดพลาด / การโจมตีที่พบบ่อย (หรือผิดปกติ) ที่ฉันควรระวังด้วยกระบวนทัศน์ประเภทนี้ ตัวอย่างเช่นหากกระบวนทัศน์นี้มีความเสี่ยงต่อการโจมตีประเภทเดียวกัน / แตกต่างกันกับวิธีการจัดเก็บเซสชัน / คุกกี้ตามวิธี ดังนั้นบอกว่าฉันมีดังต่อไปนี้ (ดัดแปลงมาจากสิ่งนี้และสิ่งนี้ ): เข้าสู่ระบบร้านค้าเซสชัน: app.get('/login', function(request, response) { var user = {username: request.body.username, password: request.body.password …

23
ดาวน์โหลดไฟล์โดย jQuery.Ajax
ฉันมีการกระทำ Struts2 ในฝั่งเซิร์ฟเวอร์สำหรับการดาวน์โหลดไฟล์ <action name="download" class="com.xxx.DownAction"> <result name="success" type="stream"> <param name="contentType">text/plain</param> <param name="inputName">imageStream</param> <param name="contentDisposition">attachment;filename={fileName}</param> <param name="bufferSize">1024</param> </result> </action> อย่างไรก็ตามเมื่อฉันเรียกการกระทำโดยใช้ jQuery: $.post( "/download.action",{ para1:value1, para2:value2 .... },function(data){ console.info(data); } ); ใน Firebug ผมเห็นข้อมูลจะถูกดึงมากับกระแสไบนารี ฉันสงสัยว่าจะเปิดหน้าต่างดาวน์โหลดไฟล์ซึ่งผู้ใช้สามารถบันทึกไฟล์ไว้ในเครื่องได้อย่างไร

16
ฉันจะตั้งค่าองค์ประกอบของกล่องเลือกโดยใช้โปรแกรมได้อย่างไรโดยใช้ JavaScript?
ฉันมี<select>องค์ประกอบHTML ต่อไปนี้: <select id="leaveCode" name="leaveCode"> <option value="10">Annual Leave</option> <option value="11">Medical Leave</option> <option value="14">Long Service</option> <option value="17">Leave Without Pay</option> </select> การใช้ฟังก์ชั่น JavaScript ที่มีleaveCodeหมายเลขเป็นพารามิเตอร์ฉันจะเลือกตัวเลือกที่เหมาะสมในรายการได้อย่างไร
420 javascript  html  dom 

10
ใช้การรับรองความถูกต้องเบื้องต้นกับ jQuery และ Ajax
ฉันกำลังพยายามสร้างการรับรองความถูกต้องเบื้องต้นผ่านเบราว์เซอร์ แต่ฉันไปไม่ได้จริงๆ หากสคริปต์นี้ไม่ได้อยู่ที่นี่การตรวจสอบความถูกต้องของเบราว์เซอร์จะเข้ามาแทนที่ แต่ฉันต้องการบอกเบราว์เซอร์ว่าผู้ใช้กำลังทำการตรวจสอบสิทธิ์ ที่อยู่ควรมีลักษณะดังนี้: http://username:password@server.in.local/ ฉันมีแบบฟอร์ม: <form name="cookieform" id="login" method="post"> <input type="text" name="username" id="username" class="text"/> <input type="password" name="password" id="password" class="text"/> <input type="submit" name="sub" value="Submit" class="page"/> </form> และสคริปต์: var username = $("input#username").val(); var password = $("input#password").val(); function make_base_auth(user, password) { var tok = user + ':' + password; var hash …

16
การผูกปุ่มลูกศรใน JS / jQuery
ฉันจะผูกฟังก์ชั่นเข้ากับปุ่มลูกศรซ้ายและขวาใน Javascript และ / หรือ jQuery ได้อย่างไร ฉันดูปลั๊กอิน js-hotkey สำหรับ jQuery (ล้อมฟังก์ชันการผูกในตัวเพื่อเพิ่มอาร์กิวเมนต์เพื่อจดจำคีย์เฉพาะ) แต่ดูเหมือนจะไม่สนับสนุนปุ่มลูกศร


30
รับค่าที่ไม่ซ้ำกันทั้งหมด (เช่น: ซ้ำกัน / มากกว่าหนึ่งเหตุการณ์) ในอาร์เรย์
ฉันต้องตรวจสอบอาร์เรย์ JavaScript เพื่อดูว่ามีค่าซ้ำกันหรือไม่ วิธีที่ง่ายที่สุดในการทำเช่นนี้คืออะไร? ฉันแค่ต้องค้นหาว่าค่าที่ซ้ำกันคืออะไร - ฉันไม่ต้องการดัชนีของพวกเขาหรือพวกเขาจะทำซ้ำกี่ครั้ง ฉันรู้ว่าฉันสามารถวนซ้ำอาร์เรย์และตรวจสอบค่าอื่น ๆ ทั้งหมดสำหรับการแข่งขัน แต่ดูเหมือนว่าควรจะมีวิธีที่ง่ายขึ้น คำถามที่คล้ายกัน: รับค่าที่ไม่ซ้ำทั้งหมดในอาร์เรย์ JavaScript (ลบรายการที่ซ้ำกัน)
418 javascript  arrays 

6
การติดตั้งโมดูลโลคัลโดยใช้ npm หรือไม่?
ฉันมี repo โมดูลที่ดาวน์โหลดมาฉันต้องการติดตั้งในเครื่องไม่ใช่ในไดเร็กตอรี่อื่นหรือไม่? วิธีง่ายๆในการทำเช่นนี้คืออะไร?

18
การแปลงวัตถุ JS เป็นอาร์เรย์โดยใช้ jQuery
แอปพลิเคชันของฉันสร้างวัตถุ JavaScript เช่นนี้ myObj= {1:[Array-Data], 2:[Array-Data]} แต่ฉันต้องการวัตถุนี้เป็นอาร์เรย์ array[1]:[Array-Data] array[2]:[Array-Data] ดังนั้นฉันจึงพยายามแปลงวัตถุนี้เป็นอาร์เรย์โดยวนซ้ำ$.eachผ่านวัตถุและเพิ่มองค์ประกอบไปยังอาร์เรย์: x=[] $.each(myObj, function(i,n) { x.push(n);}); มีวิธีที่ดีกว่าในการแปลงวัตถุเป็นอาร์เรย์หรืออาจเป็นฟังก์ชั่น?

26
วิธีการ ng-repeat จำนวนครั้งที่กำหนดแทนการทำซ้ำในอาร์เรย์?
มีวิธีในการ ng-repeatการจำนวนครั้งที่กำหนดแทนที่จะต้องย้ำมากกว่าอาร์เรย์? ตัวอย่างเช่นด้านล่างฉันต้องการให้รายการแสดงขึ้น 5 เท่าโดยสมมติว่า$scope.numberเท่ากับ 5 นอกจากนี้การเพิ่มจำนวนดังนั้นแต่ละรายการจะเพิ่มขึ้นเช่น 1, 2, 3, 4, 5 ผลลัพธ์ที่ต้องการ: <ul> <li><span>1</span></li> <li><span>2</span></li> <li><span>3</span></li> <li><span>4</span></li> <li><span>5</span></li> </ul>

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