• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Image maps/areas - Unterschiede IE / FF

Der Vollständigkeit halber noch der Code, der das Map bildet:

Code:
	this.domMapObj		= document.createElement("map");
	this.domMapId		= 'mapArea' + this.objNr;
	this.domMapObj.id	= this.mapName;
	this.domMapObj.name	= this.mapName;
	domParent.appendChild(this.domMapObj);
 
keine ahnung, warum du name und id setzt, aber egal.
dann hat der schlaue dir auch schon mal gezeigt, daß der ie probleme hat elemente, wo der name über die property gesetzt wird, auch in die entsprechende collection zu stecken. kann er nicht. geht nicht. das dürfte dein problem sein.
ausserdem würde ich vorsichtig sein die ganzen elemente auch noch als member zu halten. der ie hat so schon probleme mit der garbage collection.

edit: hier noch der link zu (2)
http://forum.jswelt.de/css-x-html/49898-image-maps-areas-unterschiede-ie-ff-6.html#post313803
 
Ich hatte dir das bereits erklärt, der IE verwurstet ID und name identisch, d.h. ein Element mit einem namen wird per getElementById gefunden und umgekehrt.
Was hier kein Problem darstellen dürfte.

Id und Name sind bei mir identisch. Es wird aber offensichtlich vom IE keiner Verbindung vom img zur map hergestellt und darum führen die Areas zu keinerlei mouseover oder click events.

Deshalb wird bei deinem angeblichen Eventhandler Problem Beispiel, die Map auf das Bild angewandt, obwohl es keinen Namen hat, aber ein ID. Deshalb wird zwar der onclick Event des Bildes ausgeführt, danach aber direkt auf den Link in der map weitergeleitet.
Die Map wird eben nicht auf das Bild angewandt, sonst würden die Areas ja zu Reaktionen führen.
 
Was hier kein Problem darstellen dürfte.
genau

Id und Name sind bei mir identisch.
aber unnötig, id kannst du weglassen, wenn du sie nicht an anderer stelle brauchst.

Es wird aber offensichtlich vom IE keiner Verbindung vom img zur map hergestellt und darum führen die Areas zu keinerlei mouseover oder click events.
siehe mein vorletzter post mit dem link auf dem schlauen sein ;-) beitrag

Für heute reicht's mir...
mir auch, aber in anderer hinsicht.
 
Was hier kein Problem darstellen dürfte.

Id und Name sind bei mir identisch. Es wird aber offensichtlich vom IE keiner Verbindung vom img zur map hergestellt und darum führen die Areas zu keinerlei mouseover oder click events.


Die Map wird eben nicht auf das Bild angewandt, sonst würden die Areas ja zu Reaktionen führen.
Du verstehst gar nichts. Es hat keinen Zweck dir irgendwas zu erklären. Find' es halt selber raus.
 
Du verstehst gar nichts. Es hat keinen Zweck dir irgendwas zu erklären. Find' es halt selber raus.

Es wäre auch das erste Mal gewesen, daß einer Deiner Beiträge einen konkret weiterbringt.

Anstatt mit Dir zu diskutieren, ist es produktiver, Selbstgespräche zu führen:

@bis: Never feed the troll!
 
@ein schlauer
@hesst
@kkapser

Ich meine, es ist höchste Zeit für ein offenes Wort zur Diskussions-"Kultur" hier:

Bei allem Respekt vor Hilfsbereitschaft so ist diese für alle Beteiligten doch nur Zeitvergeudung, wenn sie aus Zirkelbezügen auf unverständliche Hinweise besteht, die primär daraus bestehen, was man denn nicht machen solle, von @Schlauers egomanischen persönlichen Freundlichkeiten mal ganz abgesehen.

Es bleibt völlig unklar und paßt zu den trolligen Beiträgen von @Schlauer, was er denn mit seinem obigen Code-Beispiel zu Ext zeigen wollte, außer daß er so schlau ist, Ext einsetzen zu können. Kein Wort, was er denn damit aussagen will. Und offensichtlich ist es auch nicht. Warum also das Beispiel?! Pure Zeitvergeudung, weil zu nichts führend. So etwas dient wirklich allein dem Ego des Schreibers.

Leider bist Du @hesst manchmal nur wenig anders, wie bei Deinem Beispiel hier gerade.

Ähnlich war es zuerst bei @kkapser, der aber seinen ersten, nicht konkreten Allgemeinplatz "direkt mit den area-Nodes arbeitest" dann sofort konkretisierte, so daß klar wurde, was gemeint war:

"Wenn du jetzt direkt ins DOM gehst und die Nodes dort änderst ist das schneller, weil keine Nodes gelöscht, kein HTML interpretiert und keine neuen Nodes erstellt werden müssen."

Das ist konkret, sagt was gemeint ist - und ist damit hilfreich. Danke noch mal. Meiner Erinnerung nach ist das bisher der einzige konkrete - und damit nützliche und hilfreiche - Hinweis gewesen bei all den vielen Beiträgen zu meinen diversen Themen.

Ein typisches Beispiel für Zirkelbezüge ohne jede Aussage ist das hier:

zu @Schlauers sinnloses, weil ohne jede Aussage oder Erklärung gegebenes Ext Code-Beispiel.

Ebenso bringt eine solche Aussage von @hesst

"wo der name über die property gesetzt wird, auch in die entsprechende collection zu stecken"

nur neue Verwirrung und nützt nichts. Welcher Name wird "über die [welche?} property gesetzt"?! Nebulöse Worte, keine Ahnung, was damit gemeint sein soll.

Viele oder gar die meisten EDV-Menschen, je mathematischer, umso mehr, haben massive Problem, Gedanken klar verbal ausdrücken zu können. Menschen sind mathematisch oder verbal begabt, sehr selten beides. Übrigens habe ich die Erfahrung gemacht: je mathematisch intelligenter, umso verbal schwächer. Bei ein paar meiner brilliantesten Entwickler dauert(e) es manchmal einige Zeit, bis es mir gelang/gelingt, den Sinn einer Aussage aus ihnen heraus zu fragen.

Auch deshalb sollten Entwickler niemals Benutzer-Anleitungen schreiben, außer sie sind "Verbal-Logiker", Die sind unter Entwicklern aber sehr selten. Ich bin einer. Weiß bis heute nicht, wie ich mein Mathe-Abi geschafft habe. Daher auch meine Abneigung gegen kryptische Syntax wie bei Regex, grep, awk oder yacc und gegen entsprechende Fragmente in JS aus C stammend.

Solcher Mangel an eigener sprachlicher Präzision darf aber nicht dazu führen, den Empfänger einer derart unpräzise formulierten Botschaft für das Scheitern einer Kommunikation verantwortlich zu machen. So geschieht es hier laufend. Der Fehler liegt mehr und öfter beim Sender als beim Empfänger.

So! Das mußte mal klar gestellt werden. Wie gesagt, bei allem Respekt vor Eurer Hilfsbereitschaft, aber vielleicht überlegt Ihr (bitte m.E. in der Reihenfolge der Anrede oben) Euch mal, ob ein Beitrag für den Faden-Ersteller und für andere Leser überhaupt aussagefähig ist.

Bei @Schlauers Beiträgen habe ich dies in aller Regel nicht gefunden und damit meine ich auch Fäden, an denen ich nicht beteiligt war. Ich hab beim Lesen anderer Fäden oft den Kopf geschüttelt darüber, wie polemisch und unqualifiziert Beitragschreiber abgebürstet wurden. @Schlauer schreibt m.E. eine Masse überwiegend "hingerotzter" Anzüglichkeiten und vermeidet geschickt jede konkrete Aussage. Verständlich, wenn es dem Schreiber allein um Selbstdarstellung geht. Manches davon ist - pardon - verbale Onanie! So erwas zu lesen und sich damit auseinanderzusetzen ist m.E. Zeitvergeudung. @Schlauer ist das Extrembeispiel, abgeschwächt gilt das m.E. für andere auch.

Diese Kritik ist absolut und nur konstruktiv gemeint. Auch, weil (Eure) Energie sinnvoll und zielführend eingesetzt werden sollte. Ich glaube aber nicht, daß sie so verstanden werden wird. Dennoch...das mußte mal klargestellt werden.



P.S. Falls es nicht bemerkt worden sein sollte: Ich habe versucht, im Rahmen meiner in Sachen JS/html/DOM sehr begrenzten Möglichkeiten, eine Winzigkeit zum Forum beizutragen, wo ich dazu eine Chance sah, denn ich sehe so etwas nicht als Einbahnstraße.

P.P.S. Meine Erfahrungen in deutschen IT-Foren begrenzen sich auf dieses hier. In englischen Foren sind mir so krasse Fälle noch nicht begegnet. Da geht es i.a.R. wesentlich pragmatischer zu.
 
Zuletzt bearbeitet:
das mag damit zusammenhängen, dass hier zig verschiedene bugs, "nicht bugs" und sonstiges vermutet, behoben und verdrängt wurden.
bis hier dein erstes problem überhaupt erkannt bzw. beschrieben wurde, sind viele seiten vergangen.
du behauptest ständig sachen, die einfach nicht stimmen und wir sind dann wieder nur dabei dir genau das zu zeigen (ich bin mir nicht mal sicher, ob du das selbst merkst).
wenn du den beitrag vom schlauen so nicht verstehst, reicht es auch einfach das mal deutlich zu machen.
http://www.thunderguy.com/semicolon/2005/05/23/setting-the-name-attribute-in-internet-explorer/
und die lösung vom schlauen mal extrahiert
Code:
var IE = /*@cc_on!@*/false; 
var map = IE ? document.createElement('<map name="dyn">')
: document.createElement('map');
map.name = 'dyn';
erkennen konnte man das erst an diesem post
http://forum.jswelt.de/css-x-html/49898-image-maps-areas-unterschiede-ie-ff-10.html#post314097
sonst orakelst du meist nur rum

EDIT:
hier wieder ein beispiel, was das verdeutlichen sollte(ie und ff)
Code:
<html>
  <head>
    <title></title>
  </head>
  <body>
    <script type="text/javascript">
      var xxx = document.createElement("a");
      xxx.name="xxx"; // hier wird der name über die propertie name gesetzt
      xxx.href="#";
      document.body.appendChild(xxx);
      alert(document.getElementsByName("xxx")[0]);
    </script>
  </body>
</html>
 
Zuletzt bearbeitet:
@hesst
Danke für die Erklärung. Das war mir trotz mehrfachem Lesen nicht aufgefallen, daß in dieser Zeile die entscheidene Information gut verborgen war.

Danke auch @Schlauer - und bitte nimm die Erfahrung mit, daß drei Worte in Deinem Beispiel als Hinweis den entscheidenden Unterschied gemacht hätten. Der Rest wäre gar nicht nötig gewesen, hat nichts gebracht außer Dir ein wenig Ext-Erfahrung.

@Schlauer: Präziser, zielgerichteter und sogar kürzer wäre z.B. dies gewesen:

"So kannste den IE Bug mit name umgehen:
var map = document.createElement('<map name="dyn">'

Das hätte sogar ein Depp wie ich verstanden. Der ganze unnötige Schmus hat (mich) nur vom Thema abgelenkt.

Jedenfalls: Es klappt mit den Links in IE7. Durch diesen Hack ist im DOM Inspector in IE auch der name sichtbar (siehe screenshots oben).

Zwar gibt es noch Probleme mit ToolTips und der Skalierung, aber das werde ich auch noch schaffen.

Also nochmals vielen Dank - und bitte als Erfahrung nehmen, was die Kommunikation anbelangt Damit die Energie auch den gewünschten Erfolg erzeugt.
 
und anstatt ständig etwas zu behaupten was nicht stimmt, hättest du auch ganz einfach Fragen können, was du nicht verstehst. Ich hab dir die Problematik hier mehrmals erklärt, das du sie nicht verstehst, weiß ich nicht und du hast es auch mit keinem Wort erwähnt.
 
Zuletzt bearbeitet:
Danke auch @Schlauer - und bitte nimm die Erfahrung mit, daß drei Worte in Deinem Beispiel als Hinweis den entscheidenden Unterschied gemacht hätten. Der Rest wäre gar nicht nötig gewesen, hat nichts gebracht außer Dir ein wenig Ext-Erfahrung.
das hauptanliegen war ja in seinem beitrag hier dir zu zeigen, daß es mit ext auch geht.
daß das mit dem namen eines deiner probleme sein könnte, war zu dem zeitpunkt eine reine vermutung(neben vielen anderen).
 
Zurück
Oben