บทความนี้แบ่งปันวิธีการเฉพาะของการส่งพารามิเตอร์ไปยังหน้า A ถึงหน้า B สำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
วิธีที่ 1: ใช้ส่วนประกอบการจัดเก็บข้อมูลท้องถิ่น HTML5 (LocalStorage สามารถจัดเก็บข้อมูล 5M ในพื้นที่) LocalStorage เป็นข้อมูลการจัดเก็บถาวรในท้องถิ่นซึ่งเป็นการเพิ่มประสิทธิภาพของคุกกี้
วิธีที่ 2: ใช้คุกกี้เพื่อจัดเก็บข้อมูลในเบราว์เซอร์ของลูกค้า (การจัดเก็บสูงสุดของข้อมูล 2M)
วิธีที่ 3: ใช้ URL เพื่อผ่านอาร์กิวเมนต์ (บันทึกข้อมูลที่จะส่งผ่านเป็นตัวแปรที่เก็บข้อมูลจากนั้นส่งผ่านไปยัง URL) วิธีการดังต่อไปนี้
A.HTML
var app = {}; app.list = '123'app.test =' 1 '; window.location.href = "b.html? name ="+app;วิธีการแปลงอักขระ json.stringify (แอป) หากพารามิเตอร์เป็นวัตถุแล้วแปลงเป็นวัตถุหากได้รับในหน้า B
B.HTML
รับพารามิเตอร์ที่ส่งผ่านโดย URL
ฟังก์ชั่น getRequest () {var url = location.search; // รับสตริงหลังจาก "?" อักขระใน url var therequest = new Object (); if (url.indexof ("?")! = -1) {var str = url.substr (1); strs = str.split ("&"); สำหรับ (var i = 0; i <strs.length; i ++) {redquest [strs [i] .split ("=") [0]] = unescape (strs [i] .split ("=") [1]); }} ส่งคืนที่นั่น; } console.log (json.parse (getRequest (). ชื่อ) .List)แต่ละเบราว์เซอร์ มีข้อ จำกัด เกี่ยวกับความยาวของ URL:
1. ความยาวของ URL ตอนนี้ จำกัด อยู่ที่ 2048 ไบต์ไบต์ (สูงถึง 2047 ไบต์สำหรับการทดสอบด้วยตัวเอง)
2. เบราว์เซอร์ความเร็ว 360 จำกัด ความยาวของ URL เป็น 2118 ไบต์
3. Firefox (เบราว์เซอร์) จำกัดความยาวของ URL เป็น 65536 ไบต์
4. Safari (เบราว์เซอร์) จำกัดความยาวของ URL เป็น 80,000 ไบต์
5. โอเปร่า (เบราว์เซอร์) จำกัดความยาวของ URL เป็น 190,000 ไบต์
6. Google (Chrome) จำกัดความยาวของ URL เป็น 8182 ไบต์
ที่นี่ฉันได้ทดสอบเฉพาะเบราว์เซอร์และเบราว์เซอร์ความเร็ว 360 และเบราว์เซอร์อื่น ๆ มาจากข้อมูลบนอินเทอร์เน็ต
นอกจากนี้ฉันอยากจะเตือนคุณว่าใน URL ตัวละครจีนมีขนาดแตกต่างกันผ่านวิธีการเข้ารหัสที่แตกต่างกัน
ข้างต้นเป็นวิธีที่ JS ใช้วิธีการส่งพารามิเตอร์ไปยังหน้าอื่น ฉันหวังว่ามันจะเป็นประโยชน์สำหรับทุกคนในการเรียนรู้การเขียนโปรแกรม JavaScript