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

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

2
AngularJS: ตรวจจับการเปลี่ยนแปลงในโมเดลโดยอัตโนมัติ
สมมติว่าฉันต้องการทำบางอย่างเช่นเรียกใช้โค้ดโดยอัตโนมัติ (เช่นการบันทึกข้อมูลลงในเซิร์ฟเวอร์) เมื่อใดก็ตามที่ค่าของโมเดลเปลี่ยนแปลง เป็นวิธีเดียวที่จะทำได้โดยการตั้งค่าบางอย่างเช่นng-changeในแต่ละคอนโทรลที่อาจเปลี่ยนโมเดลได้หรือไม่? กล่าวคือด้วยมุมมองสิ่งต่างๆจะเปลี่ยนไปทันทีเมื่อโมเดลมีการเปลี่ยนแปลงโดยไม่ต้องเชื่อมโยงอะไรอย่างชัดเจน มีอะนาล็อกที่สามารถรันโค้ดที่บันทึกไปยังเซิร์ฟเวอร์ได้หรือไม่? สิ่งที่ต้องการ myModel.on('change', function() { $.post("/my-url", ...); }); อย่างที่คุณอาจเห็นเช่นกระดูกสันหลัง

7
Angularjs ลดแนวทางปฏิบัติที่ดีที่สุด
ฉันกำลังอ่าน http://www.alexrothenberg.com/2013/02/11/the-magic-behind-angularjs-dependency-injection.htmlและปรากฎว่า angularjs dependency injection มีปัญหาถ้าคุณลดขนาดจาวาสคริปต์ของคุณดังนั้นฉัน ฉันสงสัยว่าแทนที่จะเป็น var MyController = function($scope, $http) { $http.get('https://api.github.com/repos/angular/angular.js/commits') .then(function(response) { $scope.commits = response.data }) } คุณควรใช้ var MyController = ['$scope', '$http', function($scope, $http) { $http.get('https://api.github.com/repos/angular/angular.js/commits') .then(function(response) { $scope.commits = response.data }) }] โดยรวมแล้วฉันคิดว่าตัวอย่างที่สองนั้นมีไว้สำหรับ angularjs เวอร์ชันเก่า แต่ ... ฉันควรใช้วิธีฉีด (วิธีที่สอง) เสมอหรือไม่?

5
เหตุใด google.load จึงทำให้หน้าของฉันว่างเปล่า
มันดูแปลก ๆ แต่ฉันหาทางแก้ไขไม่ได้ ทำไมซอนี้ในโลกนี้http://jsfiddle.net/carlesso/PKkFf/แสดงเนื้อหาของเพจแล้วเมื่อเกิด google.load หน้าจะว่างเปล่า? ใช้งานได้ดีถ้า google.load เสร็จสิ้นทันที แต่การล่าช้าไม่ได้ผลเลย นี่คือแหล่งที่มาของหน้าสำหรับคนขี้เกียจ (หรือฉลาดกว่า) ของคุณ: <!DOCTYPE html> <html lang="en"> <head> <title>Ciao</title> <script type="text/javascript" src="https://www.google.com/jsapi"></script> </head> <body> <h1>Test</h1> <div id="quicivanno"> <p>ciao</p> </div> </body> <script type="text/javascript"> setTimeout(function() {google.load('visualization', '1.0', {'packages':['corechart']});}, 2000); </script> </html>​

16
ตรวจหาป๊อปอัปที่ถูกบล็อกใน Chrome
ฉันทราบถึงเทคนิคจาวาสคริปต์ในการตรวจสอบว่าป๊อปอัปถูกบล็อกในเบราว์เซอร์อื่นหรือไม่ (ตามที่อธิบายไว้ในคำตอบสำหรับคำถามนี้ ) นี่คือการทดสอบพื้นฐาน: var newWin = window.open(url); if(!newWin || newWin.closed || typeof newWin.closed=='undefined') { //POPUP BLOCKED } แต่สิ่งนี้ใช้ไม่ได้ใน Chrome ไม่สามารถเข้าถึงส่วน "POPUP BLOCKED" ได้เมื่อป๊อปอัปถูกบล็อก แน่นอนว่าการทดสอบใช้งานได้ในระดับหนึ่งเนื่องจาก Chrome ไม่ได้ปิดกั้นป๊อปอัปจริง ๆ แต่จะเปิดขึ้นในหน้าต่างย่อขนาดเล็กที่มุมล่างขวาซึ่งแสดงรายการป๊อปอัปที่ "ถูกบล็อก" สิ่งที่ฉันต้องการจะทำคือสามารถบอกได้ว่าป๊อปอัปถูกบล็อกโดยตัวป้องกันป๊อปอัปของ Chrome หรือไม่ ฉันพยายามหลีกเลี่ยงการดมกลิ่นของเบราว์เซอร์เพื่อสนับสนุนการตรวจจับคุณลักษณะ มีวิธีดำเนินการโดยไม่ต้องใช้เบราว์เซอร์หรือไม่? แก้ไข : ฉันได้พยายามในขณะนี้ทำให้การใช้newWin.outerHeight, newWin.leftและคุณสมบัติอื่น ๆ ที่คล้ายกันเพื่อบรรลุนี้ Google Chrome จะคืนค่าตำแหน่งและความสูงทั้งหมดเป็น 0 เมื่อป๊อปอัปถูกบล็อก น่าเสียดายที่มันยังคืนค่าเดียวกันแม้ว่าป๊อปอัปจะเปิดขึ้นโดยไม่ทราบระยะเวลาก็ตาม หลังจากช่วงเวลามหัศจรรย์ (สองสามวินาทีในการทดสอบของฉัน) ข้อมูลตำแหน่งและขนาดจะถูกส่งกลับเป็นค่าที่ถูกต้อง …

2
วิธีที่ต้องการในการโหลดหน้าซ้ำด้วย JavaScript? [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ คุณต้องการรีโหลดหน้าปัจจุบันด้วยวิธีใด (โดยใช้ปุ่ม) 1 <input type="button" value="Reload" onClick="history.go(0)"> 2 <input type="button" value="Reload" onClick="location.reload(true)"> 3 <input type="button" value="Reload" onClick="window.location.reload(true)"> 4 <input type="button" value="Reload" onClick="window.location.href=window.location.href"> 5 <input type="button" value="Reload" onClick="document.location.reload(true)"> 6 <input type="button" value="Reload" onClick="document.location.href=document.location.href"> เนื่องจาก URL ของหน้าเว็บมีการเปลี่ยนแปลงบ่อยครั้ง AFAIK จึงมี 'ฟังก์ชันทางเลือก' เช่น <a href="urlOfCurrentPage.html" …
103 javascript  reload 

11
วิธีการวาง Tinymce ในข้อความธรรมดาโดยค่าเริ่มต้น
Googled มันหลายพันครั้งไม่มีใครให้คำแนะนำที่สมบูรณ์เกี่ยวกับวิธีการวาง Tinymce ในข้อความธรรมดาโดยค่าเริ่มต้นและตัดการจัดรูปแบบออกโดยไม่ต้องคลิกปุ่ม "วางเป็นข้อความ" ความคิดใด ๆ เกี่ยวกับวิธีการนำไปใช้? หรือจะเปิดใช้งานปุ่ม "วางเป็นข้อความ" โดยอัตโนมัติได้อย่างไร ขอบคุณ

8
จะเพิ่มอะไรใน <head> ผ่าน jquery / javascript ได้อย่างไร?
ฉันกำลังทำงานกับ CMS ซึ่งป้องกันการแก้ไขซอร์ส HTML สำหรับ&lt;head&gt;องค์ประกอบ ตัวอย่างเช่นฉันต้องการเพิ่มสิ่งต่อไปนี้เหนือ&lt;title&gt;แท็ก: &lt;meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /&gt;
103 javascript  jquery  css  xhtml 

6
รับตำแหน่งของแท็ก div / span
ใครสามารถแสดงวิธีรับtop&amp; leftตำแหน่งขององค์ประกอบdivหรือspanเมื่อไม่ได้ระบุ? กล่าวคือ: &lt;span id='11a' style='top:55px;' onmouseover="GetPos(this);"&gt;stuff&lt;/span&gt; &lt;span id='12a' onmouseover="GetPos(this);"&gt;stuff&lt;/span&gt; ในข้างต้นถ้าฉันทำ: document.getElementById('11a').style.top ค่าของ55pxจะถูกส่งกลับ อย่างไรก็ตามหากฉันลองใช้span'12a' แล้วจะไม่มีอะไรกลับมา ฉันมีdiv/ spans มากมายในหน้าที่ฉันไม่สามารถระบุtop/ leftproperties ได้ แต่ฉันต้องการแสดงdivโดยตรงภายใต้องค์ประกอบนั้น
103 javascript  html 

7
เหตุใดจึงใช้รูปแบบการเผยแพร่ / สมัครสมาชิก (ใน JS / jQuery)
ดังนั้นเพื่อนร่วมงานแนะนำฉันให้รู้จักกับรูปแบบการเผยแพร่ / สมัครสมาชิก (ใน JS / jQuery) แต่ฉันมีปัญหาในการจับใจความว่าทำไมจึงใช้รูปแบบนี้กับ JavaScript / jQuery 'ปกติ' ตัวอย่างเช่นก่อนหน้านี้ฉันมีรหัสต่อไปนี้ ... $container.on('click', '.remove_order', function(event) { event.preventDefault(); var orders = $(this).parents('form:first').find('div.order'); if (orders.length &gt; 2) { orders.last().remove(); } }); และฉันจะได้เห็นบุญของการทำสิ่งนี้แทนเช่น ... removeOrder = function(orders) { if (orders.length &gt; 2) { orders.last().remove(); } } $container.on('click', '.remove_order', function(event) { event.preventDefault(); …

5
Facebook sharer.php เปลี่ยนเป็นไม่ยอมรับพารามิเตอร์แบบละเอียดอีกต่อไปหรือไม่?
เราได้เปิดป๊อปอัปการแบ่งปัน (ผ่าน window.open) ด้วย URL เช่น https://www.facebook.com/sharer/sharer.php?s=100&amp;p[title]=EXAMPLE&amp;p[summary]=EXAMPLE&amp;p[url]=EXAMPLE&amp;p[images][0]=EXAMPLE และจนถึงจุดที่ไม่รู้จักในเดือนที่แล้วทุกอย่างเป็นไปด้วยดี สิ่งที่เกิดขึ้นตอนนี้คือ; กล่องโต้ตอบป๊อปอัปจะปรากฏขึ้นและรวมถึงชื่อคำอธิบายรูปภาพและ URL ที่ได้รับจากพารามิเตอร์สตริงการสืบค้นอย่างถูกต้อง แต่เมื่อส่งโพสต์โพสต์บนผนังที่เป็นผลลัพธ์บน Facebook จะไม่มีชื่อคำอธิบายและรูปภาพแม้ว่าจะยังคงลิงก์ไปยัง URL ที่ถูกต้อง มีใครทราบบ้างว่ามีการเปลี่ยนแปลงล่าสุดซึ่งอาจทำให้สิ่งนี้หยุดทำงานได้ทันที การล้างคำตอบทั่วไปบางส่วนไว้ล่วงหน้า: "sharer.php URL ถูกเลิกใช้งานแล้ว" - ดูเหมือนว่าการใช้งานจะยังคงดำเนินต่อไปและดูเหมือนว่าฉันทามติก็คือส่วนใหญ่จะถูกพิจารณาว่าติดอยู่ - ฉันไม่เห็นสิ่งบ่งชี้ที่เฉพาะเจาะจงว่าควรหยุดทำงานกะทันหัน - อาจพลาดบางอย่าง "ใช้ JavaScript SDK / เมตาแท็ก OG เหล่านี้" - เป็นไปไม่ได้ในสถานการณ์เฉพาะของฉัน - เพียงแค่เชื่อฉัน ... ฉันสามารถอธิบายได้ว่าคุณต้องการจริงๆหรือไม่ แต่มันไม่เกี่ยวข้องจริงๆ "ใช้กล่องโต้ตอบฟีด" - ไม่เหมาะสมเนื่องจากขาดการสนับสนุนในการโพสต์พร้อมไฟล์แนบบนหน้า FB

30
ข้อความกะพริบ jQuery
วิธีง่ายๆในการทำให้ข้อความกระพริบใน jQuery และวิธีหยุดข้อความคืออะไร? ต้องทำงานกับ IE, FF และ Chrome ขอบคุณ
103 javascript  jquery  html  css 


3
innerHTML ไม่ตรงกันหรือไม่
ฉันหวังว่าฉันจะไม่ทำตัวโง่ ๆ แต่ฉันพยายามทำความเข้าใจว่าเกิดอะไรขึ้นในโค้ดสองบรรทัดนี้: document.body.innerHTML = 'something'; alert('something else'); สิ่งที่ฉันสังเกตคือการแจ้งเตือนจะแสดงก่อนที่จะอัปเดต HTML (หรืออาจจะมี แต่หน้ายังไม่ได้รับการรีเฟรช / ทาสีใหม่ / อะไรก็ตาม) ชำระเงินนี้codepenเพื่อดูสิ่งที่ผมหมายถึง โปรดทราบว่าแม้แต่การใส่alertเข้าไปsetTimeout(..., 0)ก็ไม่ช่วยอะไร ดูเหมือนว่าจะต้องใช้เหตุการณ์วนซ้ำมากกว่าในinnerHTMLการอัปเดตเพจ แก้ไข: ฉันลืมบอกว่าฉันใช้ Chrome และไม่ได้ตรวจสอบเบราว์เซอร์อื่น ดูเหมือนว่าจะปรากฏเฉพาะใน Chrome เท่านั้น อย่างไรก็ตามฉันยังคงสนใจว่าเหตุใดจึงเกิดขึ้น

8
วิธีเพิ่มข้อมูลเพิ่มเติมในข้อความเว็บที่คัดลอก
ขณะนี้บางเว็บไซต์ใช้บริการ JavaScript จากTyntที่ต่อท้ายข้อความเข้ากับเนื้อหาที่คัดลอก หากคุณคัดลอกข้อความจากไซต์โดยใช้สิ่งนี้แล้ววางคุณจะได้รับลิงก์ไปยังเนื้อหาต้นฉบับที่ด้านล่างของข้อความ Tynt ยังติดตามสิ่งนี้เมื่อเกิดขึ้น เป็นเคล็ดลับที่ทำได้ดี สคริปต์ของพวกเขาในการทำสิ่งนี้น่าประทับใจ - แทนที่จะพยายามจัดการคลิปบอร์ด (ซึ่ง IE เวอร์ชันเก่าเท่านั้นที่อนุญาตให้ทำตามค่าเริ่มต้นและควรปิดอยู่เสมอ) พวกเขาจะจัดการกับการเลือกจริง ดังนั้นเมื่อคุณเลือกกลุ่มข้อความเนื้อหาพิเศษจะถูกเพิ่มเป็นส่วนที่ซ่อน&lt;div&gt;อยู่ในการเลือกของคุณ เมื่อคุณวางสไตล์พิเศษจะถูกละเว้นและลิงก์พิเศษจะปรากฏขึ้น จริงๆแล้วนี่เป็นเรื่องง่ายที่จะทำกับบล็อกข้อความธรรมดา ๆ แต่จะเป็นฝันร้ายเมื่อคุณพิจารณาการเลือกทั้งหมดที่เป็นไปได้ใน HTML ที่ซับซ้อนในเบราว์เซอร์ต่างๆ ฉันกำลังพัฒนาเว็บแอปพลิเคชัน - ฉันไม่ต้องการให้ใครสามารถติดตามเนื้อหาที่คัดลอกมาและฉันต้องการให้ข้อมูลเพิ่มเติมมีบางอย่างตามบริบทแทนที่จะเป็นเพียงลิงก์ บริการของ Tynt ไม่เหมาะสมจริงๆในกรณีนี้ มีใครรู้จักไลบรารี JavaScript แบบโอเพนซอร์ส (อาจเป็นปลั๊กอิน jQuery หรือคล้ายกัน) ที่มีฟังก์ชันการทำงานที่คล้ายกัน แต่ไม่เปิดเผยข้อมูลแอปพลิเคชันภายใน

2
การป้องกัน CSRF ด้วยส่วนหัว CORS Origin เทียบกับโทเค็น CSRF
คำถามนี้เกี่ยวกับการป้องกันการโจมตีด้วยการปลอมแปลงคำขอข้ามไซต์เท่านั้น โดยเฉพาะเกี่ยวกับ: การป้องกันผ่านส่วนหัว Origin (CORS) ดีเท่ากับการป้องกันผ่านโทเค็น CSRF หรือไม่? ตัวอย่าง: อลิซเข้าสู่ระบบ (โดยใช้คุกกี้) ด้วยเบราว์เซอร์ของเธอไปที่ " https://example.com " ฉันคิดว่าเธอใช้เบราว์เซอร์ที่ทันสมัย อลิซไปที่ " https://evil.com " และโค้ดฝั่งไคลเอ็นต์ของ evil.com ดำเนินการขอ " https://example.com " (สถานการณ์ CSRF แบบคลาสสิก) ดังนั้น: หากเราไม่ตรวจสอบส่วนหัว Origin (ฝั่งเซิร์ฟเวอร์) และไม่มีโทเค็น CSRF เรามีช่องโหว่ด้านความปลอดภัย CSRF หากเราตรวจสอบโทเค็น CSRF แสดงว่าเราปลอดภัย (แต่น่าเบื่อเล็กน้อย) หากเราตรวจสอบส่วนหัว Origin คำขอจากโค้ดฝั่งไคลเอ็นต์ของ evil.com ควรถูกบล็อกเช่นเดียวกับที่ทำเมื่อใช้โทเค็น CSRF - ยกเว้นหากเป็นไปได้ที่โค้ดของ evil.com …

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