บางที Lao Zhao อาจรู้สึกเบื่อหน่ายกับ IE6 ดังนั้นเขาจึงใช้เทคนิคบางอย่างในบล็อกของเขา หาก IE6 เรียกดูบล็อกของเขา บล็อกนั้นจะข้ามไปยังหน้าอื่น
ฉันรู้สึกหดหู่ใจมาก ฉันจำเป็นต้องติดตั้งเบราว์เซอร์เพื่ออ่านบล็อกหรือไม่? ขี้เกียจมากแค่อยากใช้ IE6 ดู!
ฉันกำลังอ่าน jQuery เมื่อเร็ว ๆ นี้ ฉันเพิ่งเริ่มต้นและพบฟังก์ชั่นที่น่าสนใจดังนั้นฉันจึงทดลองกับบล็อกของ Lao Zhao 555
โหลดหน้าเว็บ HTML เวอร์ชันล่าสุด
รหัส jQuery:
$.ajax({
URL: "test.html",
แคช: เท็จ
ความสำเร็จ: ฟังก์ชั่น (html) {
$("#results").ผนวก(html);
-
-
<div id="ผลลัพธ์"></div>
ใช้แค่นี้เปลี่ยนที่อยู่เป็นบล็อกของเหล่าจ้าวแล้วดูว่าจะมีผลอะไรบ้าง อิอิ
สร้างไฟล์ข้อความใหม่และเปลี่ยนชื่อ: a.htm เพียงคัดลอกโค้ดในตัวอย่าง เปลี่ยน URL แล้วรัน
เห็นแล้วฮา เดี๋ยวทำไมมันโดดอีกล่ะ? ดูเหมือนว่าสคริปต์ js ในบล็อกยังทำงานอยู่ ฟังนะ มันจะโอเคไหมถ้าฉันฆ่าสคริปต์นั้น?
หลังจากค้นหามาเป็นเวลานาน (js ค่อนข้างแย่) ในที่สุดฉันก็พบมัน
รหัส
<!--[ถ้า IE 6]>
<script language="javascript" type="text/javascript">
var url = window.location.toString();
window.location = " http://files.cnblogs.com/JeffreyZhao/no-ie6.xml?r =" + Math.random().toString() + "&from=" + encodeURIComponent(url);
</สคริปต์>
<![สิ้นสุด]-->
นี่คือรหัสที่สร้างปัญหา ฆ่ามันซะ เพียงแทนที่ "window.location..."
รหัส
<head><title>ใช้ IE6 เพื่ออ่านบล็อกของ Lao Zhao v1.0</title>
<script src="aspnet_client/jquery/jquery-1.3.1.js" type="text/javascript"></script>
<script type="text/javascript">
//รอให้องค์ประกอบ dom โหลด
$(เอกสาร).ready(function(){
$.ajax({
URL: " http://www.cnblogs.com/JeffreyZhao/archive/2010/01/14/talk-about-code-Performance-4-asm-optimization.html ",
แคช: เท็จ
ความสำเร็จ: ฟังก์ชั่น (html) {
html = html.replace("window.location = " http://files.cnblogs.com/JeffreyZhao/no-ie6.xml?r= " + Math.random().toString() + "&from= " + encodeURIComponent(url);","");
$("#results").ผนวก(html);
-
-
-
</สคริปต์>
</หัว>
<ร่างกาย>
<div id="ผลลัพธ์"></div>
</ร่างกาย>
</html>
นี่คือโค้ด สร้างไฟล์ข้อความในเครื่อง เปลี่ยนชื่อ คัดลอก และเรียกใช้ จากนั้นคุณจะเห็นบล็อกของ Lao Zhao ใน IE6
PS: เมื่อฉันเรียกใช้โค้ดนี้บนเว็บไซต์ มันแจ้งว่า "ไม่มีสิทธิ์" ดังนั้นจึงไม่สามารถสาธิตออนไลน์ได้