นอกจากนี้ยังมีปัญหาที่พบในโครงการ:
มี a.html และ b.html
1. หน้า A เปิดแล้ว แต่ยังไม่ได้เปิดหน้า B ฉันหวังว่าจะตั้งค่าพารามิเตอร์คอลัมน์บางอย่างในหน้า A เช่นสีพื้นหลังความกว้างและพารามิเตอร์อื่น ๆ และส่งผ่านไปยังหน้า B เพื่อให้สามารถใช้หน้า B ได้เมื่อเปิด
2. หน้า A เปิดแล้วหน้า B เปิดอยู่หรือไม่ ในหน้า A คุณต้องได้รับองค์ประกอบบางอย่างและแม้แต่ตัวแปรจากหน้า B เพื่ออำนวยความสะดวกในการใช้งานไปยังหน้า A
หมายเหตุ: ไม่มีปัญหาข้ามโดเมนที่เกี่ยวข้อง
หลังจากคิดมานานในที่สุดฉันก็คิดถึงวิธีแก้ปัญหา
คำถามแรกคือเราสามารถใช้คุณสมบัติของจุดยึดหน้า HTML เพื่อส่งพารามิเตอร์ไปยังหน้า B ผ่าน URL
นี่คือรหัสหน้า:
<button> การตั้งค่ากระโดด </button> <script> var btn = document.querySelector ('ปุ่ม'); console.log (หน้าต่าง); btn.addeventListener ('คลิก', ฟังก์ชัน () {window.location = 'ci.html#bgc =#369?จากรหัสคุณสามารถรู้ได้ว่าเมื่อคุณคลิกปุ่มเพื่อข้ามไปที่หน้าจะมีชุดของพารามิเตอร์หลังจาก URL กระโดดซึ่งจะไม่ส่งผลกระทบต่อที่อยู่กระโดด เมื่อเปิดหน้า B คุณสามารถรับสตริงที่สกัดกั้นตำแหน่งเพื่อรับตัวแปรและค่าตัวแปรจากนั้นนำไปใช้
นี่คือรหัสหน้า B:
<div> </div> <script> var div = document.QuerySelector ('div'); var bl = window.location.hash.slice (1) .split ('?'); ถ้า (bl.length> = 1) {สำหรับ (var i = 0; 'bgc': document.body.style.background = bl [i] .split ('=') [1]; break; case 'wd': div.style.width = bl [i] .split ('=') [1] + 'px';โดยการสกัดกั้นสตริงให้รับแอปพลิเคชันตัวแปรที่ส่งผ่านโดย URL ความสำเร็จ!
คำถามที่สองคือฉันคิดว่าจะบรรลุเป้าหมายผ่าน iframes ซึ่งเป็นเพียงเคล็ดลับ
สร้าง iframe ในหน้า A แบบไดนามิกและตั้งค่า SRC เป็นหน้า B และการแสดงผลไม่มี จากนั้นใช้คุณสมบัติ ContentDocument ของ IFRAME เพื่อรับเอกสาร IFRAME ที่ส่งคืน
รับองค์ประกอบที่จำเป็นในเอกสารและนำไปใช้
ซอร์สโค้ด:
<span> 1111111111111 </span> <script> var fram = document.createElement ('iframe'); fram.src = 'http://www.vip.com/kongzhi/fram2.html'; Fram.ContentDocument || fram.contentwindow.document; var p = doc.QuerySelector ('p'); document.body.appendchild (p);} </script>ด้านบนเป็นหน้า JS Control Static ที่ฉันแนะนำให้รู้จักกับคุณและพารามิเตอร์จะถูกส่งผ่านและได้รับ ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!