странное поведение карты изображений javascript с панелями обновления в Chrome - PullRequest
0 голосов
/ 17 декабря 2009

Я обнаружил странную ошибку в одном из моих приложений при использовании Chrome. Приложение отображает изображения с картами изображений, которые запускают события JavaScript. Изображения / карты находятся на панелях обновления. Когда панель обновления обновляется, изображение изменяется, и если вы осматриваете элемент, карта изображения, кажется, изменилась, но Chrome все еще вызывает старую функцию javascript.

Я попытался собрать простой пример для демонстрации. Это довольно плохой пример, так как в любом другом браузере он вообще ничего не делает, но я думаю, что в Chrome проблема хорошо (надеюсь).

<form id="form1" runat="server">
    <asp:ScriptManager ID="MyScriptManager" runat="server"></asp:ScriptManager>
    <div>
        <a href="#" onclick="__doPostBack('MyUpdatePanel', '');">reload</a>
        <asp:UpdatePanel ID="MyUpdatePanel" runat="server">
            <ContentTemplate>
                <%=CreateClickable()%>
            </ContentTemplate>
        </asp:UpdatePanel>
    </div>
</form>


public string CreateClickable()
{
    if (IsPostBack)
        return CreateClickable("red", "postback msg");
    else
        return CreateClickable("blue", "original msg");
}


private string CreateClickable(string color, string msg)
{
    string html;

    html = @"<map id=""myMap"" name=""myMap"">
                 <area shape=""rect"" coords=""0,0,100,100"" onclick=""alert('" + msg + @"');"">
             </map>";
    html += @"<img id=""myImg"" usemap=""myMap"" style=""height:100px; width:100px; background-color:" + color + @";"">";

    return html;
}

1 Ответ

0 голосов
/ 25 марта 2010

usemap = "" # MyMap "" попробуйте это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...