Embedded Viewer API ช่วยให้คุณฝังเนื้อหาหนังสือจาก Google Books ลงในหน้าเว็บได้โดยตรงด้วย JavaScript นอกจากนี้ API ยังมียูทิลิตีจำนวนหนึ่งสำหรับจัดการตัวอย่างหนังสือ และมักใช้ร่วมกับ API อื่นๆ ที่อธิบายไว้ในเว็บไซต์นี้
วิซาร์ดการแสดงตัวอย่างเป็นเครื่องมือที่สร้างขึ้นบน Embedded Viewer API ซึ่งช่วยให้คุณเพิ่มความสามารถในการแสดงตัวอย่างในเว็บไซต์ได้ง่ายขึ้นเพียงคัดลอกโค้ด 2-3 บรรทัด เอกสารนี้มีไว้สำหรับนักพัฒนาซอฟต์แวร์ขั้นสูงที่ต้องการปรับแต่งลักษณะการแสดงผู้ชมบนเว็บไซต์
ผู้ชม
เอกสารประกอบนี้ออกแบบมาสำหรับผู้ที่คุ้นเคยกับแนวคิดการเขียนโปรแกรมและการเขียนโปรแกรมเชิงวัตถุของ JavaScript นอกจากนี้ คุณควรทำความคุ้นเคยกับ Google Books จากมุมมองของผู้ใช้ด้วย มีบทแนะนำ JavaScript มากมายบนเว็บ
เอกสารประกอบแนวคิดนี้ไม่สมบูรณ์และครอบคลุมทุกแง่มุม แต่ออกแบบมาเพื่อช่วยให้คุณเริ่มต้นสำรวจและพัฒนาแอปพลิเคชันเจ๋งๆ ด้วย Embedded Viewer API ได้อย่างรวดเร็ว ผู้ใช้ขั้นสูงอาจสนใจดูเอกสารอ้างอิง API ผู้มีสิทธิ์อ่านแบบฝัง ซึ่งให้รายละเอียดทั้งหมดเกี่ยวกับเมธอดและคำตอบที่รองรับ
ตามที่ระบุไว้ข้างต้น ผู้เริ่มต้นอาจต้องการเริ่มต้นด้วยวิซาร์ดการแสดงตัวอย่าง ซึ่งจะสร้างโค้ดที่จำเป็นในการฝังตัวอย่างพื้นฐานในไซต์ของคุณโดยอัตโนมัติ
"Hello, World" ของ Embedded Viewer API
วิธีที่ง่ายที่สุดในการเริ่มเรียนรู้เกี่ยวกับ Embedded Viewer API คือดูตัวอย่างง่ายๆ หน้าเว็บต่อไปนี้แสดงตัวอย่างขนาด 600x500 ของ Mountain View โดย Nicholas Perry, ISBN 0738531367 (เป็นส่วนหนึ่งของชุด "Images of America" ของ Arcadia Publishing)
<!DOCTYPE html "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title>Google Books Embedded Viewer API Example</title> <script type="text/javascript" src="https://www.google.com/books/jsapi.js"></script> <script type="text/javascript"> google.books.load(); function initialize() { var viewer = new google.books.DefaultViewer(document.getElementById('viewerCanvas')); viewer.load('ISBN:0738531367'); } google.books.setOnLoadCallback(initialize); </script> </head> <body> <div id="viewerCanvas" style="width: 600px; height: 500px"></div> </body> </html>
คุณสามารถดูตัวอย่างนี้และดาวน์โหลดเพื่อแก้ไขและทดลองใช้ แม้ในตัวอย่างนี้จะเป็นตัวอย่างง่ายๆ แต่ก็มีสิ่งที่ควรทราบ 5 ข้อดังนี้
- เรารวม API Loader โดยใช้แท็ก
script
- เราสร้างเอลิเมนต์
div
ชื่อ "viewerCanvas" เพื่อเก็บผู้ชม - เราเขียนฟังก์ชัน JavaScript เพื่อสร้างออบเจ็กต์ "viewer"
- เราจะโหลดหนังสือโดยใช้ตัวระบุที่ไม่ซ้ำกัน (ในกรณีนี้คือ
ISBN:0738531367
) - เราใช้
google.books.setOnLoadCallback
เพื่อเรียกinitialize
เมื่อ API โหลดเสร็จแล้ว
โดยจะอธิบายขั้นตอนเหล่านี้ด้านล่าง
การโหลด Embedded Viewer API
การใช้เฟรมเวิร์ก API Loader เพื่อโหลด Embedded Viewer API นั้นค่อนข้างง่าย ซึ่งประกอบด้วย 2 ขั้นตอนต่อไปนี้
- รวมไลบรารี API Loader ไว้ด้วย
<script type="text/javascript" src="https://www.google.com/books/jsapi.js"></script>
- เรียกใช้เมธอด
google.books.load
google.books.load
เมธอดใช้พารามิเตอร์ลิสต์ที่ไม่บังคับซึ่งระบุฟังก์ชัน Callback หรือภาษาตามที่อธิบายไว้ด้านล่าง<script type="text/javascript"> google.books.load(); </script>
การโหลด Embedded Viewer API เวอร์ชันแปล
Embedded Viewer API ใช้ภาษาอังกฤษโดยค่าเริ่มต้นเมื่อแสดงข้อมูลแบบข้อความ เช่น เคล็ดลับเครื่องมือ ชื่อตัวควบคุม และข้อความลิงก์ หากต้องการเปลี่ยน Embedded Viewer API ให้แสดงข้อมูลในภาษาใดภาษาหนึ่งอย่างถูกต้อง คุณสามารถเพิ่มพารามิเตอร์ language
(ไม่บังคับ) ลงในการเรียก google.books.load
ตัวอย่างเช่น หากต้องการแสดงข้อบังคับของตัวอย่างหนังสือที่มีภาษาอินเทอร์เฟซเป็นโปรตุเกสแบบบราซิล ให้ทำดังนี้
<script type="text/javascript"> google.books.load({"language": "pt-BR"}); </script>
ดูตัวอย่าง (book-language.html)
เมื่อใช้ API โปรแกรมดูแบบฝังในภาษาอื่นที่ไม่ใช่ภาษาอังกฤษ เราขอแนะนำอย่างยิ่งให้แสดงหน้าเว็บด้วยการตั้งค่าส่วนหัว content-type
เป็น utf-8
หรือใส่แท็ก <meta>
ที่เทียบเท่าในหน้าเว็บของคุณ การดำเนินการนี้ช่วยให้มั่นใจได้ว่าอักขระจะแสดงผลอย่างถูกต้องในทุกเบราว์เซอร์ ดูข้อมูลเพิ่มเติมได้ที่หน้าของ W3C เกี่ยวกับการตั้งค่าพารามิเตอร์ชุดอักขระ HTTP
องค์ประกอบ DOM ของผู้ชม
<div id="viewerCanvas" style="width: 600px; height: 500px"></div>
หนังสือจะแสดงบนหน้าเว็บต้องจองที่ โดยทั่วไปมักจะทำได้โดยการสร้างองค์ประกอบ div
ที่มีชื่อและรับการอ้างอิงไปยังองค์ประกอบนี้ใน Document Object Model (DOM) ของเบราว์เซอร์
ตัวอย่างด้านบนกำหนด div
ที่มีชื่อว่า "viewerCanvas" และกำหนดขนาดโดยใช้แอตทริบิวต์สไตล์ โปรแกรมดูจะใช้ขนาดของคอนเทนเนอร์โดยปริยายเพื่อปรับขนาดตัวเอง
ออบเจ็กต์ DefaultViewer
var viewer = new google.books.DefaultViewer(document.getElementById('viewerCanvas'));
คลาส JavaScript ที่สร้างและควบคุมผู้ดู 1 คนในหน้าเว็บคือคลาส DefaultViewer
(คุณสร้างอินสแตนซ์ของคลาสนี้ได้มากกว่า 1 อินสแตนซ์ โดยแต่ละออบเจ็กต์จะกำหนดโปรแกรมดูแยกต่างหากในหน้าเว็บ) ระบบจะสร้างอินสแตนซ์ใหม่ของคลาสนี้โดยใช้โอเปอเรเตอร์ new
ของ JavaScript
เมื่อสร้างอินสแตนซ์โปรแกรมดูภาพใหม่ คุณต้องระบุโหนด DOM ในหน้าเว็บ (โดยปกติจะเป็นองค์ประกอบ div
) เป็นคอนเทนเนอร์สําหรับโปรแกรมดูภาพ โหนด HTML เป็นองค์ประกอบย่อยของออบเจ็กต์ document
ของ JavaScript และเราได้รับข้อมูลอ้างอิงถึงองค์ประกอบนี้ผ่านเมธอด document.getElementById()
โค้ดนี้จะกําหนดตัวแปร (ชื่อ viewer
) และกำหนดตัวแปรนั้นให้กับออบเจ็กต์ DefaultViewer
ใหม่ ฟังก์ชัน DefaultViewer()
เรียกว่าconstructor
และคำจำกัดความ (ย่อมาจาก
ข้อมูลอ้างอิงเกี่ยวกับ Embedded Viewer API เพื่อความชัดเจน) แสดงอยู่ด้านล่าง
ผู้ผลิต | คำอธิบาย |
---|---|
DefaultViewer(container, opts?) | สร้างโปรแกรมดูใหม่ภายใน container HTML ที่ระบุ ซึ่งควรเป็นองค์ประกอบระดับบล็อกในหน้าเว็บ (โดยทั่วไปคือ DIV ) ระบบจะส่งตัวเลือกขั้นสูงโดยใช้พารามิเตอร์ opts (ไม่บังคับ) |
โปรดทราบว่าพารามิเตอร์ที่ 2 ในคอนสตรคเตอร์นั้นไม่บังคับ มีไว้สําหรับการใช้งานขั้นสูงที่อยู่นอกเหนือขอบเขตของเอกสารนี้ และไม่ได้รวมอยู่ในตัวอย่าง "Hello, World"
การเริ่มต้นโปรแกรมดูหนังสือด้วยหนังสือที่เฉพาะเจาะจง
viewer.load('ISBN:0738531367');
เมื่อสร้างโปรแกรมดูผ่านตัวสร้าง DefaultViewer
แล้ว โปรแกรมดูจะต้องได้รับการเริ่มต้นด้วยหนังสือที่เฉพาะเจาะจง การดำเนินการเริ่มต้นนี้เกิดขึ้นโดยใช้เมธอด load()
ของผู้ดู เมธอด load()
ต้องใช้ค่า identifier
ซึ่งจะบอก API ว่าให้แสดงหนังสือเล่มใด ต้องส่งเมธอดนี้ก่อนดำเนินการอื่นๆ กับออบเจ็กต์ Viewer
หากรู้จักตัวระบุหลายตัวของหนังสือ เช่น ISBN สำหรับฉบับปกอ่อนหรือหมายเลข OCLC ทางเลือก คุณสามารถส่งอาร์เรย์ของสตริงตัวระบุที่เป็นพารามิเตอร์แรกไปยังฟังก์ชัน load()
มุมมองจะแสดงหนังสือหากมีการแสดงตัวอย่างแบบฝังได้ซึ่งเชื่อมโยงกับตัวระบุใดก็ได้ในอาร์เรย์
ตัวระบุหนังสือที่รองรับ
เช่นเดียวกับฟีเจอร์ Dynamic Links ในตัวที่ดูได้ API รองรับค่าหลายค่าเพื่อระบุหนังสือที่เฉพาะเจาะจง ซึ่งได้แก่
- ISBN
- เลขมาตรฐานสากลประจำหนังสือเชิงพาณิชย์ 10 หรือ 13 หลักที่ไม่ซ้ำกัน
ตัวอย่างเช่นISBN:0738531367
- หมายเลข OCLC
- หมายเลขเฉพาะที่ OCLC กำหนดให้กับหนังสือเมื่อเพิ่มระเบียนของหนังสือลงในระบบแคตตาล็อกของ WorldCat
ตัวอย่างเช่นOCLC:70850767
- LCCN
- หมายเลขมาตรฐานสำหรับหนังสือของหอสมุดรัฐสภาอเมริกันที่หอสมุดรัฐสภาอเมริกันกำหนดให้กับระเบียน
ตัวอย่าง:LCCN:2006921508
- รหัสระดับเสียงของ Google หนังสือ
- สตริงที่ไม่ซ้ำซึ่ง Google Books กำหนดให้กับเล่มหนังสือ ซึ่งจะปรากฏใน URL ของหนังสือใน Google Books
ตัวอย่างเช่นPy8u3Obs4f4C
- URL การแสดงตัวอย่างของ Google Books
- URL ที่เปิดหน้าตัวอย่างหนังสือใน Google Books
ตัวอย่างเช่นhttps://books.google.com/books?id=Py8u3Obs4f4C&printsec=frontcover
โดยตัวระบุเหล่านี้มักใช้ร่วมกับ API อื่นๆ ในตระกูล Google Books API เช่น คุณสามารถใช้ลิงก์แบบไดนามิกเพื่อแสดงผลปุ่มแสดงตัวอย่างได้เฉพาะในกรณีที่ฝังหนังสือได้ และเมื่อผู้ใช้คลิกปุ่มดังกล่าว ให้สร้างอินสแตนซ์ของโปรแกรมดูโดยใช้ URL ของตัวอย่างที่การเรียกลิงก์แบบไดนามิกแสดงผล ในทำนองเดียวกัน คุณสามารถสร้างแอปพลิเคชันการเรียกดูและแสดงตัวอย่างที่สมบูรณ์ด้วย Books API ซึ่งจะแสดงตัวระบุอุตสาหกรรมที่เหมาะสมหลายรายการในฟีดเล่ม ไปที่หน้าตัวอย่างเพื่อดูการใช้งานขั้นสูง
การจัดการการเริ่มต้นที่ไม่สําเร็จ
ในบางกรณี การเรียกใช้ load
อาจไม่สำเร็จ โดยทั่วไปแล้วกรณีนี้จะเกิดขึ้นเมื่อ API ไม่พบหนังสือที่เชื่อมโยงกับตัวระบุที่ให้มา เมื่อไม่มีการแสดงตัวอย่างหนังสือ เมื่อฝังตัวอย่างหนังสือไม่ได้ หรือเมื่อข้อจำกัดด้านเขตแดนทำให้ผู้ใช้ไม่เห็นหนังสือเล่มนี้ คุณอาจต้องการได้รับการแจ้งเตือนเกี่ยวกับความล้มเหลวดังกล่าวเพื่อให้โค้ดจัดการกับเงื่อนไขนี้ได้อย่างราบรื่น ด้วยเหตุนี้ ฟังก์ชัน load
จึงให้คุณส่งพารามิเตอร์ที่ 2 ที่ไม่บังคับ ซึ่งก็คือ notFoundCallback
ซึ่งจะระบุฟังก์ชันที่ควรเรียกใช้หากโหลดหนังสือไม่ได้ ตัวอย่างเช่น โค้ดต่อไปนี้จะสร้างกล่อง "ข้อความแจ้ง" ของ JavaScript หากฝังหนังสือได้
function alertNotFound() { alert("could not embed the book!"); } function initialize() { var viewer = new google.books.DefaultViewer(document.getElementById('viewerCanvas')); viewer.load('ISBN:1234', alertNotFound); }
ดูตัวอย่าง (book-notfound.html)
เมื่อใช้การเรียกกลับนี้ คุณอาจเลือกแสดงข้อผิดพลาดที่คล้ายกัน หรือเลือกซ่อนองค์ประกอบ viewerCanvas
โดยสิ้นเชิงก็ได้ พารามิเตอร์ Callback ที่ล้มเหลวเป็นตัวเลือกที่ไม่บังคับ และไม่รวมอยู่ในตัวอย่าง " Hello World"
หมายเหตุ: เนื่องจากตัวอย่างเพลงอาจไม่พร้อมใช้งานสำหรับหนังสือบางเล่มและผู้ใช้บางราย คุณจึงควรตรวจสอบว่าตัวอย่างเพลงพร้อมใช้งานหรือไม่ก่อนที่จะพยายามโหลดโปรแกรมดูตัวอย่างเพลง เช่น คุณอาจต้องการแสดงปุ่ม หน้าเว็บ หรือส่วน "แสดงตัวอย่างของ Google" ใน UI เฉพาะเมื่อผู้ใช้จะเห็นตัวอย่างเท่านั้น ซึ่งทำได้โดยใช้ Books API หรือ Dynamic Links ซึ่งทั้ง 2 รายการจะรายงานว่าหนังสือจะพร้อมให้ฝังโดยใช้โปรแกรมดูหรือไม่
การจัดการการเริ่มต้นที่สำเร็จ
นอกจากนี้ คุณยังอาจต้องการทราบด้วยว่าโหลดหนังสือเรียบร้อยแล้วหรือไม่และเมื่อใด ด้วยเหตุนี้ ฟังก์ชัน load
จึงรองรับพารามิเตอร์ที่สามซึ่งไม่บังคับอย่าง successCallback
ซึ่งจะทำงานเมื่อโหลดหนังสือเสร็จแล้ว
function alertInitialized() { alert("book successfully loaded and initialized!"); } function initialize() { var viewer = new google.books.DefaultViewer(document.getElementById('viewerCanvas')); viewer.load('ISBN:0738531367', null, alertInitialized); }
ดูตัวอย่าง (book-success.html)
ตัวอย่างเช่น แบ็กคอลนี้อาจมีประโยชน์ในกรณีที่คุณต้องการแสดงองค์ประกอบบางอย่างในหน้าเว็บเฉพาะในกรณีที่โปรแกรมเล่นแสดงผลอย่างสมบูรณ์
การแสดงโปรแกรมดูเอกสารเมื่อโหลด
google.books.setOnLoadCallback(initialize);
ขณะที่หน้า HTML แสดงผล จะมีการสร้าง Document Object Model (DOM) รวมทั้งได้รับรูปภาพและสคริปต์ภายนอกทั้งหมดและรวมไว้ในออบเจ็กต์ document
ระบบใช้ฟังก์ชัน google.books.setOnLoadCallback
เพื่อเลื่อนการเรียกใช้ฟังก์ชันที่สร้างออบเจ็กต์ DefaultViewer
ออกไปจนกว่าหน้าเว็บจะโหลดเสร็จสมบูรณ์ เพื่อให้แน่ใจว่าโปรแกรมดูของเราจะแสดงในหน้าเว็บหลังจากที่หน้าเว็บโหลดเสร็จสมบูรณ์แล้วเท่านั้น เนื่องจาก setOnLoadCallback
จะเรียกใช้ initialize
เฉพาะเมื่อ API โปรแกรมดูแบบฝังและพร้อมใช้งานเท่านั้น ซึ่งจะช่วยหลีกเลี่ยงลักษณะการทำงานที่คาดเดาไม่ได้และช่วยให้ควบคุมวิธีการและเวลาในการวาดผู้ชมได้
หมายเหตุ: เพื่อเพิ่มความสามารถในการใช้งานร่วมกันข้ามเบราว์เซอร์ให้ได้มากที่สุด เราขอแนะนำอย่างยิ่งให้คุณกำหนดเวลาโหลดของผู้ดูโดยใช้ฟังก์ชัน google.books.setOnLoadCallback
แทนการใช้เหตุการณ์ onLoad
ในแท็ก <body>
การโต้ตอบของผู้ชม
เมื่อสร้างออบเจ็กต์ DefaultViewer
แล้ว คุณจะโต้ตอบกับออบเจ็กต์นั้นได้ ออบเจ็กต์โปรแกรมดูพื้นฐานมีลักษณะและทํางานคล้ายกับโปรแกรมดูที่คุณโต้ตอบด้วยในเว็บไซต์ Google Books และมีการทำงานในตัวมากมาย
แต่คุณยังโต้ตอบกับผู้ชมโดยใช้โปรแกรมได้อีกด้วย ออบเจ็กต์ DefaultViewer
รองรับเมธอดจำนวนหนึ่งที่เปลี่ยนสถานะการแสดงตัวอย่างโดยตรง เช่น เมธอด zoomIn()
, nextPage()
และ highlight()
จะทำงานกับโปรแกรมเล่นแบบเป็นโปรแกรม ไม่ใช่ผ่านการโต้ตอบของผู้ใช้
ตัวอย่างต่อไปนี้แสดงตัวอย่างหนังสือที่ "พลิก" ไปยังหน้าถัดไปโดยอัตโนมัติทุก 3 วินาที หากหน้าถัดไปอยู่ในส่วนที่มองเห็นได้ของโปรแกรมดู โปรแกรมดูจะเลื่อนไปยังหน้านั้นอย่างราบรื่น หากไม่ใช่ โปรแกรมดูจะข้ามไปยังด้านบนของหน้าถัดไปโดยตรง
function nextStep(viewer) { window.setTimeout(function() { viewer.nextPage(); nextStep(viewer); }, 3000); } function initialize() { var viewer = new google.books.DefaultViewer(document.getElementById('viewerCanvas')); viewer.load('ISBN:0738531367'); nextStep(viewer); } google.books.setOnLoadCallback(initialize);
ดูตัวอย่าง (book-animate.html)
โปรดทราบว่าการเรียกไปยังผู้ดูด้วยโปรแกรมจะล้มเหลวหรือไม่ส่งผลใดๆ จนกว่าผู้ดูจะสามารถเริ่มต้นกับหนังสือเล่มใดเล่มหนึ่งอย่างสมบูรณ์ โปรดใช้พารามิเตอร์ successCallback
กับ viewer.load
ตามที่อธิบายไว้ด้านบนเพื่อให้แน่ใจว่าคุณจะเรียกใช้ฟังก์ชันดังกล่าวเมื่อผู้ชมพร้อมเท่านั้น
สำหรับข้อมูลเกี่ยวกับฟังก์ชันทั้งหมดที่ออบเจ็กต์ DefaultViewer
รองรับ โปรดดูคู่มือข้อมูลอ้างอิง
โน้ตการเขียนโปรแกรม
ก่อนเริ่มเจาะลึก Embedded Viewer API คุณควรคำนึงถึงข้อกังวลต่อไปนี้เพื่อให้แอปพลิเคชันทำงานได้อย่างราบรื่นในแพลตฟอร์มที่ต้องการ
ความเข้ากันได้กับเบราว์เซอร์
Embedded Viewer API รองรับ Internet Explorer, Firefox และ Safari เวอร์ชันล่าสุด และมักจะรองรับเบราว์เซอร์อื่นๆ ที่ใช้ Gecko และ WebKit ด้วย เช่น Camino และ Google Chrome
บางครั้งแอปพลิเคชันต่างๆ ต้องใช้ลักษณะการทํางานที่แตกต่างกันสําหรับผู้ใช้ที่มีเบราว์เซอร์ที่เข้ากันไม่ได้ Embedded Viewer API ไม่มีลักษณะการทำงานอัตโนมัติเมื่อตรวจพบเบราว์เซอร์ที่เข้ากันไม่ได้ ตัวอย่างส่วนใหญ่ในเอกสารนี้ไม่ได้ตรวจสอบความเข้ากันได้ของเบราว์เซอร์ และไม่ได้แสดงข้อความแสดงข้อผิดพลาดสำหรับเบราว์เซอร์รุ่นเก่า แอปพลิเคชันจริงอาจทําบางอย่างที่เหมาะกับเบราว์เซอร์รุ่นเก่าหรือไม่เข้ากันได้มากกว่า แต่เราไม่ได้ใส่การตรวจสอบดังกล่าวเพื่อให้ตัวอย่างอ่านง่ายขึ้น
แอปพลิเคชันที่ไม่สำคัญจะต้องพบความไม่สอดคล้องกันระหว่างเบราว์เซอร์กับแพลตฟอร์มต่างๆ อย่างหลีกเลี่ยงไม่ได้ นอกจากนี้ เว็บไซต์อย่าง quirksmode.org ก็เป็นแหล่งข้อมูลที่ยอดเยี่ยมในการค้นหาวิธีแก้ปัญหาชั่วคราว
XHTML และโหมดที่ไม่มาตรฐาน
เราขอแนะนำให้คุณใช้ XHTML ที่สอดคล้องกับมาตรฐานในหน้าเว็บที่มีเครื่องมือดู เมื่อเบราว์เซอร์เห็น XHTML
DOCTYPE
ที่ด้านบนของหน้า เบราว์เซอร์จะแสดงผลหน้าเว็บใน "โหมดการปฏิบัติตามมาตรฐาน" ซึ่งทำให้คาดการณ์เลย์เอาต์และลักษณะการทำงานในเบราว์เซอร์ต่างๆ ได้มากขึ้น หน้าเว็บที่ไม่มีคําจํากัดความดังกล่าวอาจแสดงผลใน "โหมดข้อบกพร่อง" ซึ่งอาจทําให้เลย์เอาต์ไม่สอดคล้องกัน
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
หมายเหตุเกี่ยวกับตัวอย่าง Embedded Viewer API
โปรดทราบว่าตัวอย่างส่วนใหญ่ในเอกสารประกอบนี้แสดงเฉพาะโค้ด JavaScript ที่เกี่ยวข้อง ไม่ใช่ไฟล์ HTML ทั้งหมด คุณสามารถเสียบโค้ด JavaScript ลงในไฟล์ HTML โครงร่างของคุณเอง หรือจะดาวน์โหลดไฟล์ HTML แบบเต็มของตัวอย่างแต่ละรายการโดยคลิกลิงก์ที่อยู่หลังตัวอย่างก็ได้
การแก้ปัญหา
หากรหัสใช้งานไม่ได้ โปรดลองทำตามแนวทางต่อไปนี้ซึ่งอาจช่วยแก้ปัญหาได้
- ตรวจหาคำที่พิมพ์ผิด โปรดทราบว่า JavaScript เป็นภาษาที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
- ใช้โปรแกรมแก้ไขข้อบกพร่อง JavaScript ใน Firefox คุณสามารถใช้คอนโซล JavaScript, โปรแกรมแก้ไขข้อบกพร่อง Venkman หรือส่วนเสริม Firebug ใน IE คุณสามารถใช้ โปรแกรมแก้ไขข้อบกพร่องสคริปต์ของ Microsoft เบราว์เซอร์ Google Chrome มีเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์หลายรายการในตัว ซึ่งรวมถึงเครื่องมือตรวจสอบ DOM และเครื่องมือแก้ไขข้อบกพร่อง JavaScript