DropDownList and div problem at Internet Exploer 6

בעידן בו יש כל כך הרבה דפדפנים, וצריך לתמוך בכולם- העבודה נעשית ארוכה יותר ולא כיפית.
כך גם במקרה הבא:
זוכרים שהיה אי פעם דפדפן IE 6, כן.. גם אני מנסה לשכוח, אבל מה לעשות צריך לתמוך בו עדין.
ישנה בעיה ידועה שDrop Down List (תג select ב Html) באקפלורר 6 תמיד עליון.

לדוגמה, אם אני רציתי ליצור תפריט ומתחתיו ישנו את אותו Drop Down זה מה שקיבלתי:



הפיתרון לבעיה זאת הוא קל. יוצרים ifram (רצויי עם source של דף ריק) באותו גודל של אותו div וifram יהיה מעל ה .Drop Down





<IFRAME id="iframeFixDiv" style="VISIBILITY:hidden; POSITION:absolute;" src="/_LAYOUTS/Test01/Blank.htm" frameBorder="0" scrolling="no">
</IFRAME>


ניקח את אותו ifram במקום כלשהו בדף, וכאשר קוראים לאותו div להופיע, מבצעים את הפונקציה הבאה בjavascript. הפונקציה מקבלת את הID של הdiv והID של הifram).


// Fix IE6 div Display before Drop Down with ifram
function FixIe6DivDisplayDropDown(divID, iframeID)
{ 
  var ieversion = 0;

  if (/MSIE (\d+\.\d+);/.test(navigator.userAgent))
    ieversion = new Number(RegExp.$1);
  if (navigator.appName == "Microsoft Internet Explorer" &&
      ieversion < 7)
  {
    var myDiv = document.getElementById(
divID);
    myDiv.style.display = 'block';
    var MyIframe =
    document.getElementById(iframeID);
    MyIframe.style.visibility = 'visible';
    MyIframe.style.display = 'block';
    MyIframe.style.width = myDiv.offsetWidth;
    MyIframe.style.height = myDiv.offsetHeight;
    MyIframe.style.left = myDiv.offsetLeft;
    MyIframe.style.top = myDiv.offsetTop;
  }
}


ואז מקבלים את התוצאה הנחמדה הבאה:


נחמד.. לא?

שנה אזרחית קלילה :)


Comments

Popular posts from this blog

A sharepoint list view of the current month

The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters

Export SharePoint 2010 List to Excel with PowerShell