เคล็ดลับไม่มีสี: การดาวน์โหลดนี้ได้รับการแก้ไขแล้ว โปรดดาวน์โหลดบทช่วยสอนเวอร์ชันภาษาจีนนี้อีกครั้ง ขออภัยในความไม่สะดวกที่เกิดขึ้นกับคุณ!
ส่วนที่ 1 การคิดใหม่เกี่ยวกับแอปพลิเคชันเว็บ บทที่ 1 แนวทางใหม่ในการออกแบบเว็บ
1.1 ทำไมคุณถึงต้องการ Ajax rich client?
1.1.1 การเปรียบเทียบประสบการณ์ผู้ใช้
1.1.2 ความล่าช้าของเครือข่าย
1.1.3 การโต้ตอบแบบอะซิงโครนัส
1.1.4 รูปแบบการใช้งานเฉพาะหรือชั่วคราว
1.1.5 ลืมเว็บไปเลย
1.2 หลักการพื้นฐานสี่ประการของอาแจ็กซ์
1.2.1 แอปพลิเคชัน ไม่ใช่เนื้อหา อยู่ในเบราว์เซอร์
1.2.2 เซิร์ฟเวอร์ส่งข้อมูลมากกว่าเนื้อหา
1.2.3 การโต้ตอบของผู้ใช้จะราบรื่นและต่อเนื่อง
1.2.4 การเขียนโปรแกรมอย่างมีวินัยและจริงจัง
1.3 ลูกค้าที่ร่ำรวยของ Ajax ในโลกแห่งความเป็นจริง
1.3.1 สถานการณ์ปัจจุบัน
1.3.2 Google แผนที่
1.4 ทางเลือกแทนอาแจ็กซ์
1.4.1 โซลูชันที่ใช้ Macromedia Flash
1.4.2 Java Web Start และเทคโนโลยีที่เกี่ยวข้อง
1.5 สรุป
1.6 แหล่งข้อมูลบทที่ 2 Ajax Newbies การเริ่มต้นใช้งาน
2.1 องค์ประกอบสำคัญของอาแจ็กซ์
2.2 ใช้ JavaScript เพื่อปรับปรุงประสบการณ์ผู้ใช้
2.3 ใช้ CSS เพื่อกำหนดลักษณะที่ปรากฏของแอปพลิเคชันของคุณ
2.3.1 ตัวเลือก CSS
2.3.2 คุณสมบัติสไตล์ CSS
2.3.3 ตัวอย่าง CSS อย่างง่าย
2.4 จัดระเบียบมุมมองด้วย DOM
2.4.1 การใช้ JavaScript เพื่อจัดการ DOM
2.4.2 ค้นหาโหนด DOM
2.4.3 สร้างโหนด DOM
2.4.4 เพิ่มสไตล์ให้กับเอกสาร
2.4.5 ทางลัด: ใช้แอตทริบิวต์ innerHTML
2.5 การโหลดข้อมูลแบบอะซิงโครนัสโดยใช้เทคโนโลยี XML
2.5.1 ไอเฟรม
2.5.2 วัตถุ XMLDocument และ XMLHttpRequest
2.5.3 ส่งคำขอไปยังเซิร์ฟเวอร์
2.5.4 ตรวจสอบคำขอโดยใช้ฟังก์ชันโทรกลับ
2.5.5 วงจรชีวิตที่สมบูรณ์
2.6 อาแจ็กซ์แตกต่างอย่างไร?
2.7 สรุป
2.8 แหล่งข้อมูล บทที่ 3 การจัด Ajax ตามลำดับ
3.1 จากความวุ่นวายสู่การสั่งซื้อ
3.1.1 รูปแบบ: การสร้างคำศัพท์ทั่วไป
3.1.2 การรีแฟคเตอร์และอาแจ็กซ์
3.1.3 รักษาสมดุล
3.1.4 การสร้างการต่อสู้จริงขึ้นมาใหม่
3.2 กรณีศึกษาบางส่วนของการปรับโครงสร้างใหม่เล็กน้อย
3.2.1 ความไม่สอดคล้องกันระหว่างเบราว์เซอร์: โหมด Facade และ Adapter
3.2.2 ฟังก์ชั่นการประมวลผลเหตุการณ์การจัดการ: โหมดผู้สังเกตการณ์
3.2.3 นำฟังก์ชันการประมวลผลการดำเนินการของผู้ใช้กลับมาใช้ใหม่: โหมดคำสั่ง
3.2.4 การรักษาการอ้างอิงที่ไม่ซ้ำกันไปยังทรัพยากร: รูปแบบซิงเกิลตัน
3.3 โมเดล-วิว-คอนโทรลเลอร์
3.4 MVC บนเว็บเซิร์ฟเวอร์
3.4.1 เว็บเซิร์ฟเวอร์ Ajax ที่ไม่มีรูปแบบ
3.4.2 สร้างแบบจำลองโดเมนใหม่
3.4.3 การแยกเนื้อหาออกจากการนำเสนอ
3.5 ไลบรารีและเฟรมเวิร์กของบุคคลที่สาม
3.5.1 ไลบรารีข้ามเบราว์เซอร์
3.5.2 ส่วนประกอบ UI และชุดส่วนประกอบ UI
3.5.3 กรอบการสมัคร
3.6 สรุป
3.7 ทรัพยากรส่วนที่ 2 เทคโนโลยีหลัก บทที่ 4 หน้าเป็นแอปพลิเคชัน
4.1 MVC ประเภทอื่น
4.1.1 ทำซ้ำรูปแบบ MVC ในระดับต่างๆ
4.1.2 ใช้ MVC บนฝั่งเบราว์เซอร์
4.2 มุมมองในแอปพลิเคชัน Ajax
4.2.1 การแยกตรรกะออกจากมุมมอง
4.2.2 แยกมุมมองและตรรกะออกจากกัน
4.3 ตัวควบคุมในแอปพลิเคชัน Ajax
4.3.1 ฟังก์ชั่นการจัดการเหตุการณ์ JavaScript แบบดั้งเดิม
4.3.2 รูปแบบเหตุการณ์ W3C
4.3.3 การใช้โมเดลเหตุการณ์ที่ยืดหยุ่นใน JavaScript
4.4 โมเดลในแอปพลิเคชัน Ajax
4.4.1 การสร้างแบบจำลองโดเมนธุรกิจโดยใช้ JavaScript
4.4.2 การโต้ตอบกับเซิร์ฟเวอร์
4.5 การสร้างมุมมองจากแบบจำลอง
4.5.1 การสะท้อนวัตถุ JavaScript
4.5.2 การทำงานกับอาร์เรย์และวัตถุ
4.5.3 การเพิ่มคอนโทรลเลอร์
4.6 สรุป
4.7 ทรัพยากร บทที่ 5 บทบาทของเซิร์ฟเวอร์
5.1 การทำงานกับเซิร์ฟเวอร์
5.2 การเขียนโค้ดฝั่งเซิร์ฟเวอร์
5.2.1 ภาษาการใช้งานยอดนิยม
5.2.2 สถาปัตยกรรม N-tier
5.2.3 รักษาโมเดลโดเมนฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์
5.3 ภาพใหญ่: การออกแบบฝั่งเซิร์ฟเวอร์สากล
5.3.1 การเขียนโค้ดเว็บเซิร์ฟเวอร์อย่างง่ายโดยไม่ต้องใช้เฟรม
5.3.2 การใช้กรอบเวิร์กโฟลว์ Model2
5.3.3 การใช้กรอบงานตามส่วนประกอบ
5.3.4 การใช้สถาปัตยกรรมเชิงบริการ
5.4 รายละเอียด : การแลกเปลี่ยนข้อมูล
5.4.1 การโต้ตอบกับลูกค้าเท่านั้น
5.4.2 แนะนำตัวอย่างของเบราว์เซอร์ดาวเคราะห์
5.4.3 การคิดจากมุมมองของเว็บเพจ: การโต้ตอบที่เน้นเนื้อหาเป็นศูนย์กลาง
5.4.4 การคิดในแง่ของปลั๊กอิน: การโต้ตอบที่เน้นสคริปต์เป็นศูนย์กลาง
5.4.5 การคิดจากมุมมองของแอปพลิเคชัน: การโต้ตอบที่เน้นข้อมูลเป็นศูนย์กลาง
5.5 เขียนข้อมูลไปยังเซิร์ฟเวอร์
5.5.1 การใช้แบบฟอร์ม HTML
5.5.2 การใช้วัตถุ XMLHttpRequest
5.5.3 จัดการการอัปเดตผู้ใช้อย่างมีประสิทธิภาพ
5.6 สรุป
5.7 ทรัพยากรส่วนที่ 3 Ajax ระดับมืออาชีพ
บทที่ 6 ประสบการณ์ผู้ใช้
6.1 ทำสิ่งที่ถูกต้อง: พัฒนาแอพพลิเคชั่นคุณภาพสูง
6.1.1 การตอบสนอง
6.1.2 ความทนทาน
6.1.3 ความสม่ำเสมอ
6.1.4 ความเรียบง่าย
6.1.5 นำไปปฏิบัติ
6.2 แจ้งให้ผู้ใช้ทราบ
6.2.1 การจัดการตอบสนองต่อคำขอของตนเอง
6.2.2 การจัดการการอัปเดตที่ส่งโดยผู้ใช้รายอื่น
6.3 การออกแบบระบบแจ้งเตือนสำหรับ Ajax
6.3.1 การแจ้งเตือนการสร้างแบบจำลอง
6.3.2 กำหนดข้อกำหนดอินเทอร์เฟซผู้ใช้
6.4 ดำเนินการกรอบการแจ้งเตือน
6.4.1 แสดงไอคอนแถบสถานะ
6.4.2 แสดงข้อมูลการแจ้งเตือนโดยละเอียด
6.4.3 การบูรณาการ
6.5 ใช้กรอบการแจ้งเตือนเพื่อจัดการคำขอเครือข่าย
6.6 แสดงถึงความทันเวลาของข้อมูล
6.6.1 กำหนดรูปแบบไฮไลท์อย่างง่าย
6.6.2 การเน้นด้วยไลบรารีเอฟเฟกต์ Scriptaculous
6.7 สรุป
6.8 แหล่งข้อมูล บทที่ 7 ความปลอดภัยและ Ajax
7.1 JavaScript และความปลอดภัยของเบราว์เซอร์
7.1.1 การแนะนำนโยบายเซิร์ฟเวอร์ต้นทาง
7.1.2 ข้อพิจารณาที่เกี่ยวข้องกับอาแจ็กซ์
7.1.3 ปัญหาโดเมนย่อย
7.1.4 การรักษาความปลอดภัยข้ามเบราว์เซอร์
7.2 การสื่อสารโดยใช้บริการระยะไกล
7.2.1 บริการตัวแทนระยะไกล
7.2.2 การใช้บริการเว็บ
7.3 การปกป้องข้อมูลที่เป็นความลับ
7.3.1 คนกลาง
7.3.2 ใช้ HTTP ที่ปลอดภัย
7.3.3 การเข้ารหัสข้อมูลโดยใช้ JavaScript ผ่าน HTTP ธรรมดา
7.4 กลยุทธ์การเข้าถึงสำหรับกระแสข้อมูล Ajax
7.4.1 การออกแบบเลเยอร์เว็บที่ปลอดภัย
7.4.2 การจำกัดการเข้าถึงข้อมูลเว็บ
7.5 สรุป
7.6 ทรัพยากรบทที่ 8 ประสิทธิภาพ
8.1 ประสิทธิภาพคืออะไร?
8.2 ความเร็วในการประมวลผลจาวาสคริปต์
8.2.1 การวัดเวลาการใช้งานอย่างหนัก
8.2.2 การใช้ตัววิเคราะห์ประสิทธิภาพ Venkman
8.2.3 ปรับความเร็วการดำเนินการของแอปพลิเคชัน Ajax ให้เหมาะสม
8.3 การใช้หน่วยความจำจาวาสคริปต์
8.3.1 หลีกเลี่ยงการรั่วไหลของหน่วยความจำ
8.3.2 ข้อพิจารณาพิเศษสำหรับอาแจ็กซ์
8.4 การออกแบบโดยคำนึงถึงประสิทธิภาพเป็นหลัก
8.4.1 การวัดการใช้งานหน่วยความจำ
8.4.2 ตัวอย่างง่ายๆ
8.4.3 ผลลัพธ์: วิธีลดการใช้หน่วยความจำลง 150x
8.5 สรุป
8.6 ทรัพยากรส่วนที่ 4 กรณีศึกษา Ajax บทที่ 9 ฟังก์ชันการรวมคู่แบบไดนามิก
9.1 สคริปต์ผสมคู่
9.1.1 ข้อจำกัดของโซลูชั่นไคลเอนต์
9.1.2 ข้อจำกัดของโซลูชันฝั่งเซิร์ฟเวอร์
9.1.3 โซลูชั่นที่ใช้ Ajax
9.2 สถาปัตยกรรมไคลเอนต์
9.2.1 แบบฟอร์มการออกแบบ
9.2.2 การออกแบบการโต้ตอบระหว่างไคลเอนต์/เซิร์ฟเวอร์
9.3 การใช้งาน VB.NET ฝั่งเซิร์ฟเวอร์
9.3.1 กำหนดรูปแบบการตอบสนอง XML
9.3.2 การเขียนโค้ดฝั่งเซิร์ฟเวอร์
9.4 แสดงผล
9.4.1 การสำรวจเอกสาร XML
9.4.2 การใช้ CSS
9.5 ปัญหาขั้นสูง
9.5.1 อนุญาตให้เลือกแบบสอบถามได้หลายรายการ
9.5.2 ขยายชุดค่าผสมคู่ให้เป็นชุดค่าผสมสามชุด
9.6 การปรับโครงสร้างใหม่
9.6.1 ใหม่และปรับปรุง net.ContentLoader
9.6.2 การสร้างส่วนประกอบคอมโพสิตคู่
9.7 สรุป บทที่ 10 พร้อมท์การป้อนข้อมูลล่วงหน้า
10.1 10.1 ตรวจสอบการประยุกต์ใช้พร้อมท์การป้อนข้อมูลล่วงหน้า
10.1.3 10.1.1 คุณสมบัติทั่วไปของพร้อมท์การป้อนข้อมูลล่วงหน้า
10.1.4 10.1.2 Google แนะนำ
10.1.3 การพัฒนาเชิงปฏิบัติของพร้อมท์การป้อนข้อมูลล่วงหน้าของ Ajax
10.2 กรอบงานฝั่งเซิร์ฟเวอร์: C#
10.2.1 เซิร์ฟเวอร์และฐานข้อมูล
10.2.2 การทดสอบโค้ดฝั่งเซิร์ฟเวอร์
10.3 กรอบงานไคลเอนต์
10.3.1 HTML
10.3.2 จาวาสคริปต์
10.3.3 การเข้าถึงเซิร์ฟเวอร์
10.4 เพิ่มฟังก์ชันการทำงาน: หลายองค์ประกอบที่มีการสืบค้นที่แตกต่างกัน
10.5 10.5 การปรับโครงสร้างใหม่
10.5.1 วันที่ 1: แผนเกมสำหรับการพัฒนาส่วนประกอบ TextSuggest
10.5.2 วันที่ 2: การสร้าง TextSuggest – ชัดเจนและกำหนดค่าได้
10.5.3 วันที่ 3: เปิดใช้งาน Ajax
10.5.4 วันที่ 4: การจัดการเหตุการณ์
10.5.5 วันที่ 5: UI กล่องป๊อปอัปแจ้ง
10.5.6 รายงานการฟื้นฟู
10.6 สรุปบทที่ 11 เว็บพอร์ทัล Ajax ที่ปรับปรุงแล้ว
11.1 พอร์ทัลที่กำลังพัฒนา
11.1.1 พอร์ทัลแบบดั้งเดิม
11.1.2 พอร์ทัลที่มีอินเทอร์เฟซผู้ใช้ที่หลากหลาย
11.2 สถาปัตยกรรมของ Ajax Portal โดยใช้ Java
11.3 เข้าสู่ระบบอาแจ็กซ์
11.3.1 ตารางผู้ใช้
11.3.2 รหัสเข้าสู่ระบบฝั่งเซิร์ฟเวอร์: ใช้งานใน Java
11.3.3 กรอบการเข้าสู่ระบบของลูกค้า
11.4 ใช้หน้าต่าง DHTML
11.4.1 ฐานข้อมูลหน้าต่างพอร์ทัล
11.4.2 รหัสฝั่งเซิร์ฟเวอร์สำหรับหน้าต่างพอร์ทัล
11.4.3 เพิ่มไลบรารี JS ภายนอก
11.5 เพิ่มฟังก์ชันบันทึกอัตโนมัติของ Ajax
11.5.1 แก้ไขรหัสห้องสมุด
11.5.2 บันทึกข้อมูลลงฐานข้อมูลโดยอัตโนมัติ
11.6 การปรับโครงสร้างใหม่
11.6.1 การกำหนดคอนสตรัคเตอร์
11.6.2 แก้ไขไลบรารี AjaxWindows.js
11.6.3 ระบุคำสั่ง protal
11.6.4 ดำเนินการประมวลผล Ajax
11.6.5 รายงานการปรับโครงสร้างใหม่
11.7 สรุปบทที่ 12 การค้นหาแบบไดนามิกโดยใช้ XSLT
12.1 ทำความเข้าใจเทคโนโลยีการค้นหา
12.1.1 การตรวจสอบการค้นหาแบบดั้งเดิม
12.1.2 ข้อเสียของแนวทางเฟรมและป๊อปอัป
12.1.3 ตรวจสอบการค้นหาแบบไดนามิกโดยใช้ Ajax และ XSLT
12.1.4 ส่งผลกลับไปยังลูกค้า
12.2 รหัสลูกค้า
12.2.1 การตั้งค่าไคลเอนต์
12.2.2 เริ่มกระบวนการค้นหา
12.3 โค้ด PHP ฝั่งเซิร์ฟเวอร์
12.3.1การสร้างเอกสาร XML
12.3.2 การสร้างเอกสาร XSLT
12.4 การรวมเอกสาร XSLT และ XML
12.4.1 การใช้ไมโครซอฟต์ IE
12.4.2 การใช้มอซซิลา
12.5 ค้นหาให้เสร็จสิ้น
12.5.1 การใช้ Cascading Style Sheets
12.5.2 การปรับปรุงการค้นหา
12.5.3 การตัดสินใจใช้ XSLT
12.5.4 การเอาชนะข้อบกพร่องของการสนับสนุนบุ๊กมาร์ก Ajax
12.6 การปรับโครงสร้างใหม่
12.6.1 XSLTHelper
12.6.2 องค์ประกอบการค้นหาแบบไดนามิก
12.6.3 รายงานการปรับโครงสร้างใหม่
12.7 สรุปบทที่ 13 การใช้ AJAX เพื่อสร้างแอปพลิเคชันแบบสแตนด์อโลน
13.1 การอ่านข้อมูลจากภายนอก
13.1.1 การค้นหาฟีด XML
13.1.2 โครงสร้าง RSS
13.2 สร้างอินเทอร์เฟซผู้ใช้ที่หลากหลาย
13.2.1 กระบวนการ
13.2.2 เฟรม HTML ที่ไม่มีตาราง
13.2.3 ใช้วิธี CSS สำหรับการเรียงพิมพ์
13.3 กำลังโหลดฟีด RSS
13.3.1 ขอบเขตทั่วโลก
13.3.2 ฟังก์ชั่นการโหลดล่วงหน้า Ajax
13.4 เพิ่มเอฟเฟกต์การไล่ระดับสีที่หลากหลาย
13.4.1 กฎความทึบข้ามเบราว์เซอร์
13.4.2 การใช้การไล่ระดับสีแบบเฟดเข้า/เฟดเอาท์
13.4.3 การรวมตัวจับเวลา JavaScript
13.5 ฟังก์ชั่นเพิ่มเติม
13.5.1 การใส่ฟีดเพิ่มเติม
13.5.2 ฟังก์ชันข้ามและหยุดชั่วคราวแบบรวม
13.6 หลีกเลี่ยงข้อจำกัดของโครงการ
13.6.1 การเอาชนะข้อจำกัดด้านความปลอดภัยของ Mozilla
13.6.2 แก้ไขขอบเขตการใช้งาน
13.7 การปรับโครงสร้างใหม่
13.7.1 รุ่นตัวอ่าน RSS
13.7.2 มุมมองโปรแกรมอ่าน RSS
13.7.3 ตัวควบคุมตัวอ่าน RSS
13.7.4 รายงานการปรับโครงสร้างใหม่
13.8 สรุปภาคผนวก A กล่องเครื่องมือ Ajax
A.1 เลือกชุดเครื่องมือที่เหมาะสมเพื่อให้ทำงานได้อย่างชาญฉลาดยิ่งขึ้น
ก.1.1 รับเครื่องมือที่เหมาะสม
A.1.2 สร้างเครื่องมือของคุณเอง
ก.1.3 กล่องเครื่องมือบำรุงรักษา
A.2 บรรณาธิการและ IDE
A.2.1 ฟังก์ชันใดที่จำเป็นในโปรแกรมแก้ไขโค้ด
ก.2.2 เครื่องมือในปัจจุบัน
A.3 ดีบักเกอร์
A.3.1 เหตุใดจึงต้องใช้ดีบักเกอร์
A.3.2 ดีบักเกอร์จาวาสคริปต์
A.3.3 ดีบักเกอร์ HTTP
A.3.4 สร้างคอนโซลเอาท์พุตข้ามเบราว์เซอร์ของคุณเอง
ก.4 ผู้ตรวจสอบ DOM
A.4.1 การใช้ Mozilla DOM Inspector
A.4.2 ตัวตรวจสอบ DOM ของ IE
A.5 ติดตั้งส่วนขยาย Firefox
A.6 ทรัพยากรภาคผนวก B JavaScript สำหรับโปรแกรมเมอร์เชิงวัตถุ
B.1 JavaScript ไม่ใช่ Java
B.2 วัตถุใน JavaScript
B.2.1 สร้างวัตถุที่ทำงานนอกกรอบ (เฉพาะกิจ)
B.2.2 ตัวสร้าง คลาส และต้นแบบ
B.2.3 การขยายคลาสบิวท์อิน
ข.2.4 การสืบทอดต้นแบบ
B.2.5 การสะท้อนวัตถุ JavaScript
B.2.6 อินเทอร์เฟซและ "การพิมพ์แบบเป็ด"
B.3 วิธีการและฟังก์ชัน
B.3.1 หน้าที่เป็นพลเมืองชั้นหนึ่ง
B.3.2 การแนบฟังก์ชันกับวัตถุ
B.3.3 การยืมฟังก์ชันจากวัตถุอื่น
B.3.4 การจัดการเหตุการณ์ Ajax และบริบทของฟังก์ชัน
B.3.5 การปิดใน JavaScript
B.4 สรุป
ขยาย