var link = document.createElement('a');
link.href = 'http://www.google.com/';
link.onclick = function() { window.open(this.href); return false; };
link.appendChild(document.createTextNode('Google'));
//someDomNode.appendChild(link);
mag ich den Link zu öffnen in einem neuen Fenster (ich weiß, es ist schlecht, aber es ist erforderlich). Ich habe auch versucht, das "Ziel" -Attribut zu verwenden, aber ich habe auch das falsche Verhalten mit dieser Lösung.
Mein Code funktioniert gut in IE und Firefox, aber die Rückgabe false funktionieren nicht in Safari, Chrome und Opera. Mit nicht funktionieren, ich meine, der Link folgt, nachdem das neue Fenster geöffnet wurde.
Ich glaube, ich wegen der V3 Google Maps Umgebung sein könnte ...
Edit: Um das Verhalten auf der tatsächlichen Seite:
- Zum http://tinyurl.com/29q6nw6
- Klicken Sie auf jeder Marker auf der Karte, wird eine Sprechblase angezeigt.
- Klicken Sie auf den Titel, im Ballon, sollte der Link in einem neuen Fenster (Arbeit in IE und FF öffnen, aber nicht in Safari, Chrome und Opera.
Jede Hilfe ist willkommen!
Edit2: Das Problem ist in der Funktion "MakeInfoWindowContent", die in "gmaps3.js" ist. Ich verwende DOM nicht zum Erstellen der Elemente (ich benutze Zeichenfolge), da diese HTML-Zeichenfolge an Google Maps (für das Infofenster) übergeben werden muss - der Ballon), tatsächlich wird der gleiche Link an zwei verschiedenen Orten erzeugt: einer links, der mit der DOM-Funktion erstellt wurde (wie in dieser Frage gezeigt), die in allen Browsern funktioniert, und einer im Ballon, cr Mit einem HTML-String versehen, funktioniert dieser in Safari, Chrome und Opera nicht gut (der Link folgt nach dem Öffnen des neuen Fensters sogar mit dem Rückgabewert false).
Edit 3: Noch keine Ahnung, warum das passiert ... Wenn jemand eine Idee haben, lass es mich wissen!
Funktioniert für mich: http://jsbin.com/aqode#noedit Chrome 2 + 4, Opera 10, Safari 4 (alle Win). Klicken Sie auf den Link, ein neues Fenster/Tab wird geöffnet, das übergeordnete Fenster bleibt auf der gleichen Seite. –
Es funktioniert auch für mich bei dieser URL, seltsam, dass es nicht funktioniert in meiner Seite mit dem gleichen Code: S Vielleicht liegt es an der Google Maps-Umgebung. Aktualisierte Frage mit mehr Details ... – AlexV