คำถามติดแท็ก client-side

คำว่า "ฝั่งไคลเอ็นต์" หมายถึงส่วนของเว็บแอปพลิเคชันที่ทำงานในเบราว์เซอร์ของผู้ใช้ โค้ดฝั่งไคลเอ็นต์มักเขียนใน Javascript, HTML และ CSS คู่ของ "ฝั่งไคลเอ็นต์" คือ "ฝั่งเซิร์ฟเวอร์" กล่าวคือเป็นส่วนของเว็บแอปพลิเคชันที่ทำงานที่เว็บเซิร์ฟเวอร์

21
จะสร้างไฟล์ในหน่วยความจำเพื่อให้ผู้ใช้ดาวน์โหลด แต่ไม่ใช่ผ่านเซิร์ฟเวอร์ได้อย่างไร
มีวิธีใดบ้างที่ฉันสามารถสร้างไฟล์ข้อความทางฝั่งไคลเอ็นต์และแจ้งให้ผู้ใช้ดาวน์โหลดโดยไม่ต้องมีการโต้ตอบกับเซิร์ฟเวอร์ ฉันรู้ว่าฉันไม่สามารถเขียนโดยตรงไปยังเครื่องของพวกเขา (ความปลอดภัยและทั้งหมด) แต่ฉันสามารถสร้างและแจ้งให้พวกเขาบันทึกได้หรือไม่

27
วิธีการส่งออกข้อมูลอาร์เรย์ JavaScript ไปยัง csv (ทางฝั่งไคลเอ็นต์)
ฉันรู้ว่ามีคำถามมากมายในลักษณะนี้ แต่ฉันต้องทำสิ่งนี้โดยใช้ JavaScript ฉันใช้Dojo 1.8และมีข้อมูลคุณลักษณะทั้งหมดในอาร์เรย์ซึ่งมีลักษณะดังนี้: [["name1", "city_name1", ...]["name2", "city_name2", ...]] ความคิดใด ๆ ที่ฉันสามารถส่งออกไปยังCSVด้านลูกค้า?

4
ความแตกต่างระหว่างการเขียนโปรแกรมฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์คืออะไร?
ฉันมีรหัสนี้: <script type="text/javascript"> var foo = 'bar'; <?php file_put_contents('foo.txt', ' + foo + '); ?> var baz = <?php echo 42; ?>; alert(baz); </script> เหตุใดสิ่งนี้จึงไม่เขียน "บาร์" ลงในไฟล์ข้อความของฉัน แต่เตือน "42" หมายเหตุ: การแก้ไขก่อนหน้านี้ของคำถามนี้ชัดเจนเกี่ยวกับ PHP บนเซิร์ฟเวอร์และ JavaScript บนไคลเอนต์ ลักษณะสำคัญของปัญหาและแนวทางแก้ไขจะเหมือนกันสำหรับคู่ภาษาใด ๆเมื่อมีคนหนึ่งกำลังทำงานบนไคลเอนต์และอีกคนบนเซิร์ฟเวอร์ (แม้ว่าพวกเขาจะเป็นภาษาเดียวกัน) โปรดนำสิ่งนี้ไปยังบัญชีเมื่อคุณเห็นคำตอบที่พูดถึงภาษาเฉพาะ

3
ผ่านส่วนหัวคำขอในการโทร jQuery AJAX
ฉันกำลังพยายามผ่านส่วนหัวคำขอใน AJAX GET โดยใช้ jQuery ในบล็อกต่อไปนี้ "data" จะส่งค่าใน querystring โดยอัตโนมัติ มีวิธีการส่งผ่านข้อมูลนั้นในส่วนหัวคำขอแทนหรือไม่ $.ajax({ url: "http://localhost/PlatformPortal/Buyers/Account/SignIn", data: { signature: authHeader }, type: "GET", success: function() { alert('Success!' + authHeader); } }); ต่อไปนี้ใช้ไม่ได้เช่นกัน $.ajax({ url: "http://localhost/PlatformPortal/Buyers/Account/SignIn", beforeSend: { signature: authHeader }, async: false, type: "GET", success: function() { alert('Success!' + authHeader); } });
242 jquery  ajax  client-side 

8
ตรวจจับข้อผิดพลาด JavaScript ทั้งหมดและส่งไปยังเซิร์ฟเวอร์
ฉันสงสัยว่าใครมีประสบการณ์ในการจัดการข้อผิดพลาด JavaScript ทั่วโลกและส่งพวกเขาจากเบราว์เซอร์ลูกค้าไปยังเซิร์ฟเวอร์ ฉันคิดว่าประเด็นของฉันค่อนข้างชัดเจนฉันต้องการทราบทุกข้อยกเว้นข้อผิดพลาดข้อผิดพลาดในการรวบรวม ฯลฯ ที่เกิดขึ้นในฝั่งไคลเอ็นต์และส่งไปยังเซิร์ฟเวอร์เพื่อรายงาน ฉันส่วนใหญ่ใช้ MooTools และhead.js(สำหรับฝั่ง JS) และ Django สำหรับฝั่งเซิร์ฟเวอร์

11
แอปพลิเคชั่นหน้าเดียว: ข้อดีและข้อเสีย [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันเคยอ่านเกี่ยวกับสปาและข้อดีแล้ว ฉันพบว่าพวกเขาส่วนใหญ่ไม่มั่นใจ มี 3 ข้อได้เปรียบที่กระตุ้นความสงสัยของฉัน คำถาม: คุณสามารถทำหน้าที่เป็นผู้สนับสนุนของ SPA และพิสูจน์ได้ว่าฉันผิดเกี่ยวกับสามข้อความแรก? === ADVANTAGES === 1. SPA นั้นดีมากสำหรับเว็บไซต์ที่ตอบสนองได้ดีมาก: การเรนเดอร์ฝั่งเซิร์ฟเวอร์นั้นยากที่จะนำไปใช้กับสถานะกลางทั้งหมด - สถานะมุมมองขนาดเล็กไม่ได้จับคู่กับ URL ได้ดี แอปหน้าเดียวมีความโดดเด่นด้วยความสามารถในการวาดส่วนหนึ่งส่วนใดของ UI โดยไม่ต้องใช้เซิร์ฟเวอร์ไปกลับเพื่อดึง HTML สิ่งนี้ทำได้โดยการแยกข้อมูลจากการนำเสนอข้อมูลโดยมีเลเยอร์โมเดลที่จัดการข้อมูลและเลเยอร์มุมมองที่อ่านจากโมเดล เกิดอะไรขึ้นกับการถือเลเยอร์โมเดลสำหรับผู้ที่ไม่ใช่สปา SPA เป็นสถาปัตยกรรมที่เข้ากันได้กับ MVC เพียงด้านเดียวหรือไม่ 2. ด้วย SPA เราไม่จำเป็นต้องใช้ข้อความค้นหาพิเศษไปยังเซิร์ฟเวอร์เพื่อดาวน์โหลดหน้าต่างๆ ฮะและผู้ใช้สามารถดาวน์โหลดได้กี่หน้าในระหว่างการเยี่ยมชมเว็บไซต์ของคุณ สองสาม? มีปัญหาด้านความปลอดภัยอื่นปรากฏขึ้นและคุณต้องแยกหน้าเข้าสู่ระบบหน้าผู้ดูแลระบบ ฯลฯ ออกเป็นหน้าอื่น ๆ ในทางกลับกันมันขัดแย้งกับสถาปัตยกรรม SPA …

5
AngularJS: เข้าใจรูปแบบการออกแบบ
ในบริบทของโพสต์นี้โดย Igor Minar, ผู้นำของ AngularJS: MVC VS MVVM VS MVP เป็นหัวข้อที่ถกเถียงกันอยู่ว่านักพัฒนาหลายคนสามารถใช้เวลาหลายชั่วโมงในการโต้วาทีและโต้เถียงกัน สำหรับหลายปี AngularJS ได้ใกล้ชิดกับ MVC (หรือมากกว่าหนึ่งในฝั่งไคลเอ็นต์ของสายพันธุ์) แต่เมื่อเวลาผ่านไปและขอขอบคุณที่ refactorings จำนวนมากและการปรับปรุง API ก็ตอนนี้ใกล้ชิดกับMVVM - The $ ขอบเขตวัตถุอาจได้รับการพิจารณาViewModelว่าจะถูก ตกแต่งด้วยฟังก์ชั่นที่เราเรียกว่าเป็นตัวควบคุม ความสามารถในการจัดประเภทเฟรมเวิร์กและนำไปไว้ในหนึ่งในที่เก็บ MV * มีข้อดีบางประการ มันสามารถช่วยให้นักพัฒนารู้สึกคุ้นเคยกับ apis มากขึ้นด้วยการทำให้ง่ายต่อการสร้างแบบจำลองทางจิตที่แสดงถึงแอปพลิเคชันที่ถูกสร้างขึ้นด้วยกรอบงาน นอกจากนี้ยังสามารถช่วยในการสร้างคำศัพท์ที่ใช้โดยนักพัฒนา ต้องบอกว่าฉันอยากเห็นนักพัฒนาสร้างแอพ kick-ass ที่ได้รับการออกแบบมาอย่างดีและติดตามความกังวลมากกว่าที่จะเห็นพวกเขาเสียเวลาเถียงเกี่ยวกับเรื่องไร้สาระ MV * และด้วยเหตุผลนี้ผมขอประกาศ AngularJSจะเป็นกรอบ MVW - Model-View-สิ่งที่ ไม่ว่าอะไรจะเกิดขึ้นกับ " สิ่งใดก็ตามที่เหมาะกับคุณ " Angular ให้ความยืดหยุ่นในการแยกตรรกะการนำเสนอออกจากตรรกะทางธุรกิจและสถานะการนำเสนออย่างมาก …

8
การปรับขนาดภาพฝั่งไคลเอ็นต์ด้วย JavaScript ก่อนที่จะอัปโหลดไปยังเซิร์ฟเวอร์
ฉันกำลังมองหาวิธีปรับขนาดไคลเอนต์รูปภาพด้วย JavaScript (ปรับขนาดได้จริงๆไม่ใช่แค่เปลี่ยนความกว้างและความสูง) ฉันรู้ว่าเป็นไปได้ที่จะทำใน Flash แต่ฉันต้องการหลีกเลี่ยงถ้าเป็นไปได้ มีอัลกอริธึมโอเพนซอร์ซที่ใดที่หนึ่งบนเว็บหรือไม่?

11
การแฮชรหัสผ่านทางฝั่งไคลเอ็นต์นั้นคุ้มค่าหรือไม่
เมื่อฉันต้องการวางระบบล็อกอินฉันมักจะเปรียบเทียบ MD5 ของรหัสผ่านที่กำหนดกับค่าในตารางผู้ใช้ทางฝั่งเซิร์ฟเวอร์ อย่างไรก็ตามเพื่อนของฉันคนหนึ่งบอกฉันว่ารหัสผ่านที่ "ชัดเจน" อาจถูกใช้โดยซอฟต์แวร์เครือข่าย ดังนั้นคำถามของฉันคือ: ควรแฮชรหัสผ่านทางฝั่งไคลเอ็นต์หรือไม่? มันดีกว่าการแฮชที่ฝั่งเซิร์ฟเวอร์หรือไม่?

3
แนวทางปฏิบัติที่ดีที่สุดสำหรับการแปลสตริงและป้ายกำกับทั่วโลก [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันเป็นสมาชิกของทีมที่มีนักพัฒนามากกว่า 20 คน นักพัฒนาแต่ละคนทำงานในโมดูลแยกกัน (บางอย่างใกล้ 10 โมดูล) ในแต่ละโมดูลเราอาจจะมีอย่างน้อย 50 รูปแบบ CRUD ซึ่งหมายความว่าขณะนี้เรามีที่อยู่ใกล้กับ 500 ปุ่มเพิ่ม , ประหยัดปุ่ม , ปุ่มแก้ไขฯลฯ อย่างไรก็ตามเนื่องจากเราต้องการทำให้แอปพลิเคชันของเราเป็นสากลเราจึงต้องสามารถแปลข้อความในแอปพลิเคชันของเราได้ ตัวอย่างเช่นในทุกๆที่คำว่าaddควรกลายเป็นคำที่ใช้ไม่ได้สำหรับผู้ใช้ชาวฝรั่งเศส สิ่งที่เราทำจนถึงตอนนี้คือสำหรับแต่ละมุมมองใน UI หรือ Presentation Layer เรามีพจนานุกรมคำแปลคู่คีย์ / ค่า จากนั้นในขณะแสดงมุมมองเราแปลข้อความและสตริงที่จำเป็นโดยใช้พจนานุกรมนี้ อย่างไรก็ตามวิธีนี้เรามีบางอย่างใกล้เคียงกับ 500 เพิ่มใน 500 พจนานุกรม ซึ่งหมายความว่าเราได้ละเมิดหลักการของ DRY ในทางกลับกันถ้าเรารวมสตริงทั่วไปเช่นใส่addไว้ในที่เดียวและขอให้นักพัฒนาใช้ทุกที่เราจะพบปัญหาที่ไม่แน่ใจว่ามีการกำหนดสตริงไว้แล้วในพจนานุกรมส่วนกลางหรือไม่ อีกทางเลือกหนึ่งคือไม่มีพจนานุกรมการแปลและใช้บริการแปลออนไลน์เช่น Google Translate, Bing …

9
การรับพารามิเตอร์การสืบค้นจากส่วนแฮชของเราเตอร์ปฏิกิริยา
ฉันใช้ react และ react-router สำหรับแอปพลิเคชันของฉันทางฝั่งไคลเอ็นต์ ฉันไม่สามารถหาวิธีรับพารามิเตอร์การค้นหาต่อไปนี้จาก url เช่น: http://xmen.database/search#/?status=APPROVED&page=1&limit=20 เส้นทางของฉันมีลักษณะเช่นนี้ (ฉันรู้เส้นทางผิดโดยสิ้นเชิง): var routes = ( <Route> <DefaultRoute handler={SearchDisplay}/> <Route name="search" path="?status=:status&page=:page&limit=:limit" handler={SearchDisplay}/> <Route name="xmen" path="candidate/:accountId" handler={XmenDisplay}/> </Route> ); เส้นทางของฉันใช้งานได้ดี แต่ฉันไม่แน่ใจว่าจะจัดรูปแบบเส้นทางเพื่อให้ได้พารามิเตอร์ที่ฉันต้องการอย่างไร ขอบคุณความช่วยเหลือใด ๆ เกี่ยวกับเรื่องนี้!

8
การส่งอีเมลด้วย Javascript
มันสับสนเล็กน้อยที่จะอธิบายดังนั้นอดทนกับฉันที่นี่ ... ฉันต้องการตั้งค่าระบบที่ผู้ใช้สามารถส่งอีเมลเทมเพลตผ่านเว็บไซต์ของฉันได้ยกเว้นว่าจะไม่ได้ส่งโดยใช้เซิร์ฟเวอร์ของฉัน แต่เพียงแค่เปิดโปรแกรมรับส่งเมลในเครื่องของตนเองพร้อมอีเมลที่พร้อมใช้งาน แอปพลิเคชันจะกรอกเนื้อหาของอีเมลด้วยตัวแปรที่กำหนดไว้ล่วงหน้าเพื่อบันทึกผู้ใช้ที่ต้องพิมพ์เอง จากนั้นสามารถแก้ไขข้อความได้ตามต้องการหากไม่ตรงกับวัตถุประสงค์ของตน มีสาเหตุหลายประการที่ฉันต้องการให้ส่งผ่านไคลเอ็นต์อีเมลภายในเครื่องของผู้ใช้ดังนั้นการให้เซิร์ฟเวอร์ส่งอีเมลจึงไม่ใช่ทางเลือก: ต้องเป็นฝั่งไคลเอ็นต์ 100% ฉันมีโซลูชันที่ใช้งานได้เป็นส่วนใหญ่อยู่แล้วและฉันจะโพสต์รายละเอียดของสิ่งนั้นเป็นคำตอบฉันสงสัยว่ามีวิธีที่ดีกว่านี้หรือไม่?

8
การลบองค์ประกอบด้วย Array.map ใน JavaScript
ฉันต้องการกรองอาร์เรย์ของรายการโดยใช้map()ฟังก์ชัน นี่คือข้อมูลโค้ด: var filteredItems = items.map(function(item) { if( ...some condition... ) { return item; } }); ปัญหาคือการกรองรายการยังคงใช้พื้นที่ในอาร์เรย์และฉันต้องการล้างออกทั้งหมด ความคิดใด ๆ ? แก้ไข: ขอบคุณฉันลืมเกี่ยวกับfilter()สิ่งที่ฉันอยากเป็นจริงแล้วfilter()map() แก้ไข 2: ขอขอบคุณที่ชี้ว่าmap()และfilter()ไม่มีการนำไปใช้ในทุกเบราว์เซอร์แม้ว่าโค้ดเฉพาะของฉันไม่ได้ตั้งใจให้ทำงานในเบราว์เซอร์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.