ฉันใช้วิธีการ Document.write () เสมอเพื่อแสดงข้อมูลไปยังเบราว์เซอร์และใช้เป็น Alert () ดูเหมือนว่าการใช้งานแบบนี้ค่อนข้างต่ำ มาพูดคุยเกี่ยวกับการใช้งานหลัก
วิธีการ Document.write () สามารถใช้ในสองด้าน:
1. ระหว่างกระบวนการโหลดหน้าเว็บให้เพิ่มเนื้อหาหน้าใหม่ด้วยสคริปต์
2. ใช้สคริปต์ล่าช้าเพื่อสร้างเนื้อหาของหน้าต่างนี้หรือหน้าต่างใหม่
วิธีนี้ต้องใช้พารามิเตอร์สตริงซึ่งเป็นเนื้อหา HTML ที่เขียนลงในหน้าต่างหรือเฟรม พารามิเตอร์สตริงเหล่านี้สามารถเป็นตัวแปรหรือนิพจน์ที่มีค่าเป็นสตริงและเนื้อหาที่เขียนมักจะรวมถึงภาษามาร์กอัป HTML เช่นเดียวกับรหัสต่อไปนี้กรอบระบบวิชาการจะโหลดหน้าย่อย
การคัดลอกรหัสมีดังนี้:
<!-ใส่เฟรมเข้าไปในเซลล์->
<span style = "ตัวอักษรขนาด: 18px;">
<td valign = "top" id = "content-container">
<div id = "โหลด">
// ไอคอนเอฟเฟกต์โหลด
<img src = "images /loading.gif" />
</div>
<script type = "text/javascript">
// เรียกฟังก์ชัน OutputIframe ของ JS เพื่อสร้างกรอบการทำงาน
index.outputiframe ();
</script>
</td>
</span>
การคัดลอกรหัสมีดังนี้:
<span style = "ตัวอักษรขนาด: 18px;"> // เฟรมเอาท์พุท
index.outputiframe = function () {
var scrolling = $ .isie6 == true? 'ใช่': 'อัตโนมัติ';
document.write ('<iframe id = "เนื้อหา" marginWidth = "0" marginHeight = "0" frameborder = "0" scrolling = "' + การเลื่อน + '" onload = "$ (/'#โหลด/') ซ่อน ();
-
</span>
หลังจากโหลดหน้าเว็บแล้วสตรีมเอาต์พุตของเบราว์เซอร์จะถูกปิดโดยอัตโนมัติ หลังจากนี้วิธีการใด ๆ WWRITE () ที่ทำงานในหน้าปัจจุบันจะเปิดกระแสเอาต์พุตใหม่ซึ่งจะล้างเนื้อหาของหน้าปัจจุบัน (รวมถึงตัวแปรหรือค่าใด ๆ ของเอกสารแหล่งที่มา) ดังนั้นหากคุณต้องการแทนที่หน้าปัจจุบันด้วย HTML ที่สร้างขึ้นโดยสคริปต์คุณต้องเชื่อมต่อเนื้อหา HTML และกำหนดให้กับตัวแปรและใช้วิธีการ Document.write () เพื่อดำเนินการเขียนให้เสร็จสมบูรณ์
อีกสิ่งหนึ่งที่จะอธิบายเกี่ยวกับวิธีการ document.write () คือวิธีการที่เกี่ยวข้อง document.close () หลังจากสคริปต์เขียนเนื้อหาไปยังหน้าต่าง (ไม่ว่าจะเป็นหน้าต่างนี้หรืออื่น ๆ ) ต้องปิดสตรีมเอาต์พุต หลังจาก method.write () วิธีการของสคริปต์การหน่วงเวลาคุณต้องตรวจสอบให้แน่ใจว่าวิธีการ document.close () รวมอยู่ด้วย หากคุณไม่ทำเช่นนั้นคุณไม่สามารถแสดงภาพและรูปแบบได้ และวิธีการใด ๆ ที่เรียกว่า document.write () จะผนวกเนื้อหาเข้ากับหน้าโดยไม่ต้องล้างเนื้อหาที่มีอยู่เพื่อเขียนค่าใหม่
เพื่อแสดงวิธีการ Document.write () เราได้จัดเตรียมแอปพลิเคชันเดียวกันสองเวอร์ชัน หนึ่งเขียนเนื้อหาไปยังเอกสารที่มีสคริปต์และอีกรายการเขียนเนื้อหาไปยังหน้าต่างแยกต่างหาก
ตัวอย่างที่ 1 สร้างปุ่มที่รวมเนื้อหา HTML ใหม่สำหรับเอกสารรวมถึงแท็ก HTML สำหรับชื่อเอกสารใหม่และแอตทริบิวต์สีของแท็ก
ในตัวอย่างมีตัวดำเนินการ += ที่ไม่คุ้นเคยกับผู้อ่าน มันเพิ่มสตริงทางขวาไปยังตัวแปรทางซ้าย ตัวแปรนี้ใช้เพื่อเก็บสตริง ตัวดำเนินการนี้สามารถรวมข้อความแยกต่างหากหลายรายการไว้ในสายยาวได้อย่างง่ายดาย ใช้คำสั่ง document.write () รวมกันในตัวแปร newContent เพื่อเขียนเนื้อหาใหม่ทั้งหมดลงในเอกสารการล้างเนื้อหาอย่างสมบูรณ์ในตัวอย่างที่ 1
จากนั้นคุณต้องโทรไปที่คำสั่ง document.close () เพื่อปิดสตรีมเอาต์พุต เมื่อโหลดเอกสารและคลิกปุ่มคุณสามารถสังเกตได้ว่าชื่อเอกสารในแถบชื่อเรื่องของเบราว์เซอร์จะเปลี่ยนเป็นผลลัพธ์ เมื่อคุณกลับไปที่เอกสารต้นฉบับและคลิกปุ่มอีกครั้งคุณจะเห็นว่าหน้าสองที่เขียนแบบไดนามิกจะโหลดเร็วกว่าการโหลดเอกสารต้นฉบับซ้ำ
ตัวอย่างที่ 1 ใช้ document.write () ในหน้าต่างปัจจุบัน
การคัดลอกรหัสมีดังนี้:
<html xmlns = "http://www.w3.org/1999/xhtml"> <title> เขียนไปยังเอกสารเดียวกัน </title>
<ภาษาสคริปต์ = "JavaScript">
// เขียนฟังก์ชั่นใหม่
ฟังก์ชั่น repeatwrite () {
// บันทึกเนื้อหาที่เขียน
var newContent = "<html> <head> <title> เอกสารใหม่ </title> </head>"
newContent += "<body bgcolor = 'aqua'> <h1> เอกสารนี้เป็นแบรนด์ใหม่ </h1>"
newContent += "คลิกปุ่มย้อนกลับเพื่อดูเอกสารต้นฉบับ"
newContent += "</body> </html>"
// เขียนเนื้อหาใหม่
document.write (newContent);
document.close ();
-
</script>
</head>
<body>
<form>
<!-คลิกปุ่มเพื่อเรียกใช้ฟังก์ชันการเขียน->
<อินพุต type = "button" value = "แทนที่เนื้อหา" onclick = "repeetwrite ()">>
</form>
</body>
</html>
สรุป:
เมื่อเร็ว ๆ นี้ฉันกำลังเขียนตัวโหลดทรัพยากรคงที่ซึ่งใช้ document.write หลังจากประสบกับการบิดและเปลี่ยนแล้วฉันพบว่าเอกสารนั้นเขียนยังคงมีเนื้อหาอยู่บ้างดังนั้นฉันจึงตัดสินใจที่จะโยนบางสิ่งบางอย่างและบันทึกและในเวลาเดียวกันมันก็เป็นวิธีที่จะสะสมอะไรบางอย่างด้วยตัวเอง