Sorry about the long time between posts. Hope to start posting again soon
Anyhow,
I was working on a web application that is updating the details of a <map> HTML element using the innerHTML, the new innerHTML value is being processed in the server side using AJAX function
I was using the following JavaScript function to do that
function jvUpdateImageMap(ImageMapHTML)
{
try
{
document.getElementById(“MyImageMap”).innerHTML= ImageMapHTML;
}
catch(err)
{
}
finally
{
}
}
That was working fine for all the browser including Firefox 3.0 but not for Firefox 2.0
After debugging this I found that for FireFox 3.0 the result of updating the InnerHTML is this
<map id=”MyImageMap” >
<area SHAPE=”rect” id=”0_30″ usemap=”MyImageMap” Border=”0″ href=”#” COORDS=”538,420,550,408″ />
</map>
This is the correct expected result
But for FIreFox 2.0 the result was this
<map id=”MyImageMap” >
<map id=”MyImageMap” >
<area SHAPE=”rect” id=”0_30″ usemap=”MyImageMap” Border=”0″ href=”#” COORDS=”538,420,550,408″ />
</map>
</map>
So to fix this I had to add those lines to the server side function that generate the new <map> HTML code
If Context.Request.Browser.Browser = “Firefox” Then
If Context.Request.Browser.MajorVersion = “2″ Then
ImageMapHTML = ImageMapHTML.Replace(“<map id=”"MyImageMap”" >”, “”)
ImageMapHTML = ImageMapHTML.Replace(“</map>”, “”)
End If
End If






