Frage

Ich habe eine ASP.Net Image in .NET 3.5. Es ist ein großes Bild, 450x700, die Benutzer klicken können. Auf der Serverseite, haben die OnClick-Ereignishandler ein paar Sachen auf den Koordinaten aus, dass der Benutzer klickt.

Es ist eine Basiskarte, nur ein einziges statisches Bild, dass die Benutzer klicken können.

Es funktioniert gut, außer wenn im IE, der Benutzer bei einer Zoom-Ebene andere als 100%. In diesem Fall geht es um die tatsächlichen Pixelkoordinaten des Klick bedeutet, dass ich einen Punkt, der auf einer Linie zwischen dem Ursprung und dem Punkt des Klick irgendwo ist.

Ich sah etwas wie actualX = clickedX * image.Width / 450 zu tun, aber die Bildgröße Eigenschaften ändern sich nicht, wenn das Bild gezoomt wird, image.Width bleibt immer bei 450.

Kurz ein Bündel von Javascript schwarzer Magie, die ich lieber vermeiden würde, ist es eine Möglichkeit, die ursprünglichen Bildkoordinaten zu finden, die zu dem Punkt entsprechen, die angeklickt wird?

War es hilfreich?

Lösung

Es ist nicht möglich, dass der Server die Zoomstufe des Browsers ohne Javascript zu bestimmen.

Das klingt wie ein Bug im Internet Explorer. Zoom auf der Seite sollte an den Server vollständig transparent sein. Sie sollten diese an Microsoft melden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top