استخدم أحد الزملاء مؤخرًا عنصر تحكم القائمة في asp.net 2.0، وهو أحد عناصر التحكم في التنقل في asp.net 2.0. وقد اكتشفت مؤخرًا مشكلة ووضعت عنصر التحكم هذا في الصفحة الرئيسية. ثم تستخدم الصفحة الصفحة الرئيسية التي
وجدتها أنه عند تحميل الصفحة، لم ينته الأمر. عند النقر فوق القائمة بسرعة، سيتم الإبلاغ عن خطأ خاص بـ IE.
بعد البحث في Google، هناك العديد من الأخطاء المشابهة كما واجه بعض الأشخاص أخطاء مماثلة عند استخدام قائمة asp.net، على سبيل المثال:
http://forums.asp.net/thread/1158791.aspx
http://forums.asp.net/thread/1159962.aspx
يمكن تصفح البرامج المماثلة باستخدام فايرفوكس ولكن لا توجد مشكلة في IE خطأ شائع جدًا، يحدث عادةً عندما لا يتم تحميل المستند ويقوم البرنامج النصي بتعديل حالة المستند ديناميكيًا.
بالنسبة لقائمة asp.net، نظرت إلى الكود الذي ينشئه Asp.net ديناميكيًا في الواقع، إنه ملف js به رمز مشابه
.
ChildFrame = document.createElement("iframe");
ChildFrame.id = ChildFrameId;
ChildFrame.src = (data.iframeUrl ? data.iframeUrl : "about:blank");
ChildFrame.style.position = "مطلق";
ChildFrame.style.display = "none";
ChildFrame.scrolling = "no";
ChildFrame.frameBorder = "0";
إذا (parent.tagName.toLowerCase() == "html") {
document.body.appendChild(childFrame);
}
آخر {
parent.appendChild(childFrame);
}
}
هاها
، يوجد بالفعل كود ملحق ديناميكي، في الواقع، هذا النهج ليس صارمًا. أحيانًا تتجاهل الرموز المكتوبة بواسطة MS بعض
المشكلات
ستكون مناسبة للتزامن. إنها مشابهة لمزامنة سلسلة المحادثات، ولهذا السبب سيبلغ IE عن خطأ. قد يختلف التحكم في التزامن في Firefox عن IE
.
1. يمكنك وضع القائمة في div، ثم قم أولاً بضبط مستوى الرؤية على مخفي.
2. بعد تحميل المستند، اضبط مستوى الرؤية على "مرئي".
document.onreadystatechange=ShowMenu;
وظيفة شومينو ()
{
إذا (document.readyState==كاملة)
{
document.getElementById("DivOfMenu").style.visibility="visible"
}
}
هذا كل شيء.
http://www.cnblogs.com/montaque/archive/2006/09/18/507639.html