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

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

3
ทรัพยากรตีความว่าเป็นสคริปต์ แต่ถ่ายโอนด้วยข้อความประเภท MIME / ธรรมดา - สำหรับไฟล์ในเครื่อง
ฉันได้รับคำเตือน "ทรัพยากรที่ตีความว่าเป็นสคริปต์ แต่ถ่ายโอนด้วยข้อความ / ธรรมดาประเภท MIME" ใน Google Chrome เมื่อรวมไฟล์สคริปต์ในเครื่อง ฉันรู้ว่าปัญหาปรากฏขึ้นเมื่อโหลดไฟล์จากเซิร์ฟเวอร์หรือผ่าน ajax ซึ่งส่วนใหญ่มักขึ้นอยู่กับการตั้งค่าส่วนหัวที่ไม่ถูกต้อง สิ่งที่แปลกคือฉันได้รับคำเตือนนี้แม้ว่าจะเรียกใช้จากโฟลเดอร์ในเครื่อง: file:///C:/test/foo.html สิ่งนี้เกิดขึ้นเฉพาะใน Chrome ที่มี html พื้นฐานที่สุดคือ: <!DOCTYPE html> <html> <head> <script type="text/javascript" src="bar.js"></script> </head> <body> </body> </html> bar.js นั้นง่ายมากเช่นกันที่จะได้รับ: function hello() {} ฉันได้ลองเพิ่มเมตาแท็กแล้ว: <meta http-equiv="content-script-type" content="text/javascript"> และทดสอบกับหลักอื่น ๆ แต่ดูเหมือนจะไม่ช่วยอะไร เห็นได้ชัดว่านี่ไม่ใช่ปัญหาจริงเนื่องจากสคริปต์ยังใช้งานได้ดี แต่ฉันกำลังทำงานในโครงการขนาดใหญ่และขณะนี้มีสคริปต์ประมาณ 150 รายการ ดังนั้นจึงทำให้ยากที่จะเห็นเมื่อมีการเตือนเกิดขึ้นระหว่างนั้น ทุกอย่างทำงานได้ดีเมื่อฉันเรียกใช้ไฟล์บนเซิร์ฟเวอร์ในเครื่องหรือระยะไกล มีความคิดเห็นว่าทำไม …

1
jQuery กับ jQuery Mobile กับ jQuery UI?
ฉันยังใหม่กับการพัฒนาเว็บและมีเนื้อหาเกี่ยวกับ j * มากมายเกินไป ฉันสงสัยว่าความแตกต่างระหว่างกรอบงานเหล่านี้คืออะไร? ยิ่งไปกว่านั้นทำไมคนถึงพูดถึงการสร้างปลั๊กอินโดยใช้ jQuery กันมาก? ไม่ควรเป็นไลบรารี JavaScript เพื่อทำให้หน้าเว็บของคุณโต้ตอบได้มากขึ้น?

3
เหตุใดชื่อฟังก์ชัน JavaScript ของฉันจึงไม่ตรงกัน
ฉันเขียนสคริปต์ต่อไปนี้เพื่อดูว่าเกิดอะไรขึ้นเมื่อตัวแปรและฟังก์ชันที่มีฟังก์ชันที่กำหนดให้มีชื่อของพวกเขาขัดแย้งกัน: var f = function() { console.log("Me original."); } function f() { console.log("Me duplicate."); } f(); ผลลัพธ์ที่ได้คือ "ฉันเป็นต้นฉบับ" เหตุใดจึงไม่เรียกฟังก์ชันอื่น ๆ นอกจากนี้ถ้าผมเปลี่ยนการกำหนดเดิมของฉันไปvar f = new function() {ฉันได้รับ "ฉันต้นฉบับ" ตามด้วย TypeError object is not a functionพูด ใครช่วยอธิบายหน่อยได้ไหม

10
ความคิดเห็น HTML ภายในแท็กสคริปต์เป็นแนวทางปฏิบัติที่ดีที่สุดหรือไม่? [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ การปฏิบัติต่อไปนี้เป็นเรื่องปกติธรรมดาใน JavaScript แบบอินไลน์ที่ฉันต้องใช้: <script type="text/javascript"> <!-- // Code goes here //--> </script> ฉันรู้ว่าประเด็นคือการป้องกันไม่ให้เบราว์เซอร์ที่เข้ากันไม่ได้กับ JavaScript แสดงผลซอร์ส แต่ปัจจุบันนี้ยังคงเป็นแนวทางปฏิบัติที่ดีที่สุดหรือไม่ เบราว์เซอร์ส่วนใหญ่ที่ใช้ในปัจจุบันสามารถตีความ JavaScript ได้ แม้แต่อุปกรณ์พกพาสมัยใหม่ก็มักจะไม่มีปัญหา สำหรับ 'ทำไมไม่?' คำถาม: เมื่อเร็ว ๆ นี้ฉันต้องใช้เวลาหลายชั่วโมงในการแก้ไขปัญหาที่มีคนทิ้งเครื่องหมาย "//" ไว้ข้างหน้า a "->" ที่ส่วนท้ายของแท็กสคริปต์ที่ฝังอยู่ลึกลงไปในบางหน้าและทำให้ JavaScript ลึกลับ ข้อผิดพลาด คุณทำอะไร? นี่ยังถือเป็น "แนวทางปฏิบัติที่ดีที่สุด" หรือไม่
97 javascript  html 

14
ฉันจะส่งออกตารางไปยัง Excel จากเว็บเพจ [ปิด] ได้อย่างไร
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันจะส่งออกตารางไปยัง Excel จากเว็บเพจได้อย่างไร ฉันต้องการให้การส่งออกมีการจัดรูปแบบและสีทั้งหมด

3
กระดูกสันหลังดู "el" สับสน
มุมมองควรelได้รับการจัดการอย่างไร? จะต้องมีการตั้งค่ามิฉะนั้นเหตุการณ์จะไม่เริ่มทำงาน (ดูที่นี่ ) แต่มันควรจะเป็นองค์ประกอบที่มีอยู่แล้วในหน้าหรือไม่? ในแอปของฉันฉันสร้างเทมเพลต (jQuery Templates) ลงใน Fancybox elในกรณีนั้นควรเป็นอย่างไร?

5
ทำไม“ 2016-02-16” จึงไม่เท่ากับ“ 2016-02-16 00:00”
new Date(t)ฉันพยายามที่จะผ่านสตริงวันที่ทั้งสอง ฉันคาดว่าทั้งสองสายจะแสดงเวลาเดียวกันถ้าฉันเว้นเวลามันควรจะเป็นเที่ยงคืนของวันนั้นหรือ แต่ในขณะที่ new Date("2016-02-16 00:00") ส่งคืน 2016-02-16 เที่ยงคืนตามเวลาท้องถิ่นตามที่คาดไว้ new Date("2016-02-16") ส่งคืนวันที่ 2016-02-16 เที่ยงคืน UTC ซึ่งผิดหรืออย่างน้อยก็ไม่ใช่สิ่งที่ฉันคาดหวังจากสิ่งที่สตริงอื่นแยกวิเคราะห์ ฉันเข้าใจดีว่าพวกเขาทั้งสองจะมีพฤติกรรมเหมือนกันไม่ว่าจะเป็นการคืนเวลาเป็นเวลาท้องถิ่นหรือตามเวลา UTC แต่ดูเหมือนว่าจะไม่สอดคล้องกันมากว่าทำไมพวกเขาถึงกลับต่างกันเช่นนี้ วิธีแก้ปัญหาเมื่อใดก็ตามที่ฉันพบวันที่ที่ไม่มีการประทับเวลาที่ตรงกันฉันสามารถต่อท้าย "00:00" เพื่อให้ได้พฤติกรรมที่สอดคล้องกัน แต่ดูเหมือนว่าจะค่อนข้างเปราะบาง ฉันได้รับค่านี้จากองค์ประกอบ INPUT ประเภท 'datetime-local' ดังนั้นดูเหมือนว่าจะไม่สอดคล้องกันโดยเฉพาะอย่างยิ่งที่ฉันต้องแก้ไขค่าที่ส่งคืนโดยองค์ประกอบของหน้า ฉันทำอะไรผิดหรือฉันควรทำอะไรที่แตกต่างออกไป?

3
'แล้ว' หมายถึงอะไรจริงๆใน CasperJS
ฉันใช้ CasperJS เพื่อทำการคลิกแบบอัตโนมัติแบบฟอร์มที่เสร็จสมบูรณ์การแยกวิเคราะห์ข้อมูล ฯลฯ ผ่านเว็บไซต์ ดูเหมือนว่า Casper จะจัดเป็นรายการขั้นตอนที่ตั้งไว้ล่วงหน้าในรูปแบบของthenคำสั่ง (ดูตัวอย่างได้ที่นี่: http://casperjs.org/quickstart.html ) แต่ยังไม่ชัดเจนว่าอะไรเป็นสาเหตุให้คำสั่งถัดไปทำงานจริง ตัวอย่างเช่นthenรอให้คำขอที่รอดำเนินการทั้งหมดเสร็จสมบูรณ์หรือไม่ ไม่injectJSนับเป็นคำขอที่รอดำเนินการ จะเกิดอะไรขึ้นถ้าฉันมีthenคำสั่งซ้อนกัน - ผูกมัดกับตอนท้ายของopenคำสั่ง? casper.thenOpen('http://example.com/list', function(){ casper.page.injectJs('/libs/jquery.js'); casper.evaluate(function(){ var id = jQuery("span:contains('"+itemName+"')").closest("tr").find("input:first").val(); casper.open("http://example.com/show/"+id); //what if 'then' was added here? }); }); casper.then(function(){ //parse the 'show' page }); ฉันกำลังมองหาคำอธิบายทางเทคนิคว่าโฟลว์ทำงานอย่างไรใน CasperJS ปัญหาเฉพาะของฉันคือthenคำสั่งสุดท้ายของฉัน(ด้านบน) ทำงานก่อนcasper.openคำสั่งของฉันและฉันไม่รู้ว่าทำไม

16
การตรวจจับแฟลชข้ามเบราว์เซอร์ใน Javascript
ใครมีตัวอย่างของสคริปต์ที่สามารถทำงานได้ดีบน IE / Firefox เพื่อตรวจสอบว่าเบราว์เซอร์สามารถแสดงเนื้อหาแฟลชแบบฝังได้หรือไม่ ฉันพูดอย่างน่าเชื่อถือเพราะฉันรู้ว่ามันเป็นไปไม่ได้ 100% ของเวลา

10
การเพิ่มและลบคลาสใน angularJs โดยใช้ ng-click
ฉันพยายามหาวิธีเพิ่มคลาสด้วย ngClick ผมได้อัพโหลดขึ้นรหัสของฉันลงบน plunker คลิกที่นี่ เมื่อดูเอกสารเชิงมุมฉันไม่สามารถหาวิธีที่แน่นอนได้ ด้านล่างนี้เป็นข้อมูลโค้ดของฉัน ใครช่วยแนะนำฉันไปในทิศทางที่ถูกต้อง <div ng-show="isVisible" ng-class="{'selected': $index==selectedIndex}" class="block"></div> ตัวควบคุม var app = angular.module("MyApp", []); app.controller("subNavController", function ($scope){ $scope.toggle = function (){ $scope.isVisible = ! $scope.isVisible; }; $scope.isVisible = false; });

11
คุณให้บริการไฟล์สำหรับดาวน์โหลดด้วย AngularJS หรือ Javascript ได้อย่างไร
ฉันมีข้อความบางส่วนในพื้นที่ข้อความที่ซ่อนอยู่ เมื่อคลิกปุ่มฉันต้องการให้ข้อความที่เสนอให้ดาวน์โหลดเป็น.txtไฟล์ เป็นไปได้โดยใช้ AngularJS หรือ Javascript?

2
ฉันควรใช้ document.createDocumentFragment หรือ document.createElement
ฉันกำลังอ่านเกี่ยวกับส่วนของเอกสารและการจัดเรียง DOM และสงสัยว่าdocument.createDocumentFragmentแตกต่างจากdocument.createElementที่ดูเหมือนว่าไม่มีอยู่ใน DOM จนกว่าฉันจะผนวกเข้ากับองค์ประกอบ DOM ฉันทำการทดสอบ (ด้านล่าง) และทั้งหมดใช้เวลาเท่ากันทุกประการ (ประมาณ 95ms) เดาได้ว่าอาจเป็นเพราะไม่มีสไตล์ที่ใช้กับองค์ประกอบใด ๆ ดังนั้นจึงอาจไม่มีการแสดงซ้ำ อย่างไรก็ตามตามตัวอย่างด้านล่างเหตุใดฉันจึงควรใช้createDocumentFragmentแทนcreateElementเมื่อแทรกลงใน DOM และความแตกต่างระหว่างสองสิ่งนี้คืออะไร var htmz = "<ul>"; for (var i = 0; i < 2001; i++) { htmz += '<li><a href="#">link ' + i + '</a></li>'; } htmz += '<ul>'; //createDocumentFragment console.time('first'); var div = document.createElement("div"); …
97 javascript  dom 

20
Bootstrap: เปิด Modal อื่นใน Modal
ดังนั้นฉันใช้รหัสนี้เพื่อเปิดหน้าต่างโมดอลอื่นในหน้าต่างโมดอลที่เปิดอยู่ในปัจจุบัน: <a onclick=\"$('#login').modal('hide');$('#lost').modal('show');\" href='#'>Click</a> สิ่งที่เกิดขึ้นคือแถบเลื่อนจะซ้ำกันเหมือน 500 มิลลิวินาที ฉันเดาว่าเพราะกิริยาปัจจุบันยังคงจางหายไป อย่างไรก็ตามมันดูไม่ราบรื่นและพูดติดอ่างมาก ฉันขอขอบคุณข้อเสนอแนะใด ๆ ในการแก้ปัญหานี้ นอกจากนี้วิธีการสร้างสิ่งนี้ในเหตุการณ์ที่ไม่เป็นมืออาชีพหรือไม่? ฉันกำลังทำงานกับ bootstrap เวอร์ชัน 3.0 แก้ไข: ฉันเดาว่ามันจำเป็นที่จะต้องลดเวลาในการเลือนโมดอล เป็นไปได้อย่างไร?

16
แอป Node.js / Express.js ทำงานบนพอร์ต 3000 เท่านั้น
ฉันมีแอป Node.js / Express.js ที่ทำงานบนเซิร์ฟเวอร์ของฉันซึ่งใช้งานได้กับพอร์ต 3000 เท่านั้นและฉันกำลังพยายามหาสาเหตุ นี่คือสิ่งที่ฉันพบ: โดยไม่ระบุพอร์ต ( app.listen()) แอปจะทำงาน แต่หน้าเว็บไม่โหลด บนพอร์ต 3001 ( app.listen(3001)) หรือพอร์ตอื่น ๆ ที่ไม่ได้ใช้งานแอปจะทำงาน แต่หน้าเว็บไม่โหลด ในพอร์ต 2999 แอปแสดงข้อผิดพลาดเนื่องจากมีบางอย่างกำลังใช้พอร์ตนั้น บนพอร์ต 3000 แอปจะทำงานและโหลดหน้าเว็บได้ดี ฉันรู้ว่าแอป Express มีค่าเริ่มต้นเป็นพอร์ต 3000 แต่น่าแปลกที่แอปของฉันจะทำงานก็ต่อเมื่อฉันทำให้มันทำงานบนพอร์ต 3000 ( app.listen(3000)) อย่างชัดเจน ฉันพบสิ่งนี้ในบรรทัด 220 ของ/usr/bin/express: app.set(\'port\', process.env.PORT || 3000); สิ่งที่ทำตามที่ระบุไว้ก่อนหน้านี้: การตั้งค่าพอร์ตเป็นสิ่งที่ระบุไว้หรือเป็น 3000 หากไม่มีการระบุ ฉันจะทำให้แอปทำงานบนพอร์ตอื่นเช่น 8080 หรือ …

8
วิธีโหลดภาพแบบไดนามิก (หรืออย่างเกียจคร้าน) เมื่อผู้ใช้เลื่อนดู
ฉันสังเกตเห็นสิ่งนี้ในเว็บไซต์ "สมัยใหม่" จำนวนมาก (เช่นการค้นหาภาพบน Facebook และ Google) ซึ่งรูปภาพด้านล่างของฝาพับจะโหลดเฉพาะเมื่อผู้ใช้เลื่อนหน้าลงมามากพอที่จะนำภาพเหล่านั้นเข้าไปในพื้นที่วิวพอร์ตที่มองเห็นได้ ( ตามแหล่งที่มาของการดูหน้าเว็บจะแสดงXจำนวน<img>แท็ก แต่ไม่ได้ดึงมาจากเซิร์ฟเวอร์ทันที ) เทคนิคนี้เรียกว่าอะไรทำงานอย่างไรและมีกี่เบราว์เซอร์ทำงานอย่างไร และมีปลั๊กอิน jQuery ที่สามารถบรรลุพฤติกรรมนี้ด้วยการเข้ารหัสขั้นต่ำหรือไม่ แก้ไข โบนัส: ใครสามารถอธิบายได้ว่ามี "onScrolledIntoView" หรือเหตุการณ์ที่คล้ายกันสำหรับองค์ประกอบ HTML ถ้าไม่ปลั๊กอินเหล่านี้ทำงานอย่างไร

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