ถาม:
มีสองเฟรมที่ฝังอยู่ในหน้าเว็บดังที่แสดงด้านล่าง ตอนนี้ฉันต้องการเขียนโค้ดเป็น b.htm เพื่อเปลี่ยนความสูงของเฟรม Topbar (เดิมคือ 120) ทางที่ดีควรจดบันทึกกระบวนการเฉพาะไว้
นอกจากนี้ หากไม่สามารถทำได้ มีวิธีใดบ้างที่จะใช้รูปภาพใน b.htm ข้ามเฟรม Main เพื่อปกปิด a.htm (จุดประสงค์คือการทำให้ a.htm มองไม่เห็น)
คำถามเพิ่มเติม: a.htm ไม่สามารถแก้ไขได้
โปรดช่วยฉันด้วย
================================================== ====
<html>
<หัว>
<title></title>
</หัว>
<ร่างกาย>
<frameset rows="120, *">
<frame name="Topbar" src="a.htm" scrolling="No">
<frame name="Main" src="b.htm" scrolling="Yes">
</เฟรมเซต>
</ร่างกาย>
</html>
================================================== ====
คำถามเพิ่มเติม: ขอบคุณ ccyingfu แต่เฟรมเซ็ตของเฟรมที่ฝังไว้ของฉันไม่สามารถแก้ไขได้ กล่าวคือ ไม่สามารถแก้ไขโค้ดด้านบน และเพิ่ม ID ไม่ได้ นอกจากนี้ คุณใช้ปุ่มเพื่อดำเนินการแก้ไข จะต้องทำอย่างไรหากฉันต้องการดำเนินการทันทีที่เปิดหน้าเว็บ
คำตอบ:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns=" http://www.w3.org/1999/xhtml ">
<หัว>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>เอกสารที่ไม่มีชื่อ</title>
</หัว>
<frameset rows="120, *">
<frame name="Topbar" src="a.htm" scrolling="No">
<frame name="Main" src="b.htm" scrolling="Yes">
</frameset><noframes></noframes>
</html>
</html>
-
b.htm
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns=" http://www.w3.org/1999/xhtml ">
<หัว>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>เอกสารที่ไม่มีชื่อ</title>
<script type="text/javascript">
การเปลี่ยนแปลงฟังก์ชั่น (ความสูง) {
window.parent.document.getElementsByTagName("frameset")[0].setAttribute("แถว",ความสูง+"px,*");
-
window.onload = ฟังก์ชั่น () {
alert("ความสูงดั้งเดิม"+window.parent.document.getElementsByTagName("frameset")[0].getAttribute("rows").substring(0, 3));
change(150);//กำหนดความสูงไว้ที่ 150 พิกเซล
alert("เปลี่ยนความสูง"+window.parent.document.getElementsByTagName("frameset")[0].getAttribute("rows").substring(0, 3));
-
</สคริปต์>
</หัว>
<ร่างกาย>
</ร่างกาย>
</html>
-
คุณลองสิ่งนี้ มันเป็นไปได้อย่างแน่นอน นอกจากนี้ยังตรงตามความต้องการของคุณในการไม่เปลี่ยนเฟรมเซ็ตอีกด้วย ฉันเพิ่งเพิ่มโค้ด js ส่วนหนึ่งลงใน b.htm เพื่อเปลี่ยนความสูงของเฟรมเซ็ตเมื่อโหลด b.html กลายเป็น 120 แต่เปลี่ยนเป็น 150 ผ่าน js คุณสามารถเปลี่ยน 150 เป็นค่าที่มากขึ้นเพื่อให้คุณเห็นเอฟเฟกต์