Warum funktioniert das nicht?

LN5

Mitglied
Wieso funktioniert das nicht?

Code:
<a href='#' onClick=\"PopUp=opener.location='www.dieseite.de'; return false;  self.close();\">Text</a>

Wie ihr sehen könnt, möchte ich, dass das Fenster geschlossen wird, nachdem man auf den Link geklickt hat.
 
"return" bewirkt immer das Verlassen einer Funktion(aus JS-Sicht stellt deine Anweisung ein Funktions-Objekt dar). Alles, was danach folgt, wird ignoriert.

Du musst das "return false" also nach dem "self.close()" notieren
 
Ausserdem heisst der Befehl nich opener.location, sondern opener.location.href, wie ich in diesem Thread geschrieben habe: http://www.tutorials.de/tutorials228250.html

Es ist mir schleierhaft, wieso man dafuer wieder einen neuen Thread aufmachen muss und nicht einfach Fragen zum gleichen Thema nicht auch auch im selben Thema stellen kann.
 
Zuletzt bearbeitet:
opener.location ist schon O.K. so :)

Die JS-Referenz sagt dazu:
location object
Contains information on the current URL.

Syntax
To use a location object:

[windowReference.]location[.propertyName]

windowReference is a variable windowVar from a window definition (see window object), or one of the synonyms top or parent.
propertyName is one of the properties listed below. Omitting the property name is equivalent to specifying the href property (the complete URL).

.... location erfüllt somit den selben Zweck wie location.href
 
Jo, sollte es, aber entweder im Konqueror oder im IE Mac (hab vergessen welchen von beieden) gibt das nen Fehler so.
 
Konqueror gibt bei mir keinen Fehler aus.
MAC-IE kann ich momentan nicht testen :) .... vorstellen kann ich es mir aber eigentlich nicht.
Ich lasse mich aber gerne eines Besseren belehren, sofern grad jemand nen Mac zum Testen da hat.
 
Hallo,

habe ein ähnliches Problem. Ich habe mir ein Script für ein Layer besorgt. Aus platztechnischen Gründen kann ich bestimmte Strings auf meiner Seite nicht vollständig ausgeben. Deshalb verkürze ich sie muttels PHP.
Nun wollte ich einen Layer einbauen, was ich auch erfolgreich getan hab, um die nötigen Informationen in dem Layer zu zeigen.
Allerdings musste ich dafür den parameter href im Link belegen. Nun wollte ich daraufhin die Navigation bzw. den Link über onClick realisieren. Allerdings funktioniert das leider nicht.

Code:
><a href="javascript:void(0);" onClick="location='index.php?aktion=show_sb&amp;pfad=news&amp;sb_id=42'" onMouseOver="return overlib('verfasst von: Carsten Beeg<br><b>Mannschaft:</b> 1. Frauen' , CAPTION, 'Verloren geglaubtes Spiel in letzter Sekunde  noch gedreht', FGCOLOR, '#E4E4E4', BGCOLOR, '#009900');" onmouseout="return nd();">Verloren geglaubtes Spiel...</a>

So sieht einer dieser Links aus. Kann mir jemand sagen, warum das nicht so geht, wie ich will?
Den gesamten Kontext findet ihr auf http://ssvlommatzsch.de/ links oben in der kleinen Übersicht "Spielberichte".
 
In jedem anderen Browser, bis auf den IE funktioniert es wunderbar.

Ich an deiner stelle würde es mal so probieren, villeicht geht klappt's dann auch mit dem IE:
Javascript:
<a href="#" onclick="
    window.location='index.php?aktion=show_sb&amp;pfad=news&amp;sb_id=42';
    return false;
" onmouseover="
    return overlib('verfasst von: Carsten Beeg<br><b>Mannschaft:</b> 1. Frauen' , CAPTION, 'Verloren geglaubtes Spiel in letzter Sekunde noch gedreht', FGCOLOR, '#E4E4E4', BGCOLOR, '#009900');
" onmouseout="
    return nd();
">Verloren geglaubtes Spiel...</a>

Wobei dem IE auch einfach der html-Code in deinem onmouseover zu schaffen machen könnte.

P.S.
Ich will dir ja nicht zu nahe treten, aber du solltest dich vielleicht noch ein wenig mit W3-Empfehlungen und grundsätzlichem HTML-Layout ausandersetzten. Warum Events eigentlich nicht in html-Tags stehen sollten, sie neuerdings alle klein geschrieben werden, warum Tabellen-Layout dumm ist usw.
 
Zuletzt bearbeitet:
Zurück