Mehrere Fenster mit Window.open öffnen

pchilfe

Erfahrenes Mitglied
Liebe Freunde,

Ich wünsche allen ein frohes neues erfolgreiches Jahr. ;-)

Habe wieder mal so ein kleines Problem.

Ich möchte eine Liste verschiedener Produkte erstellen.
Jedes Produkt muss in einem neuen Window geöffnet werden,
wo ich die Produktinformationen auflisten muss.

Dafür habe ich das folgende Java-Skript geschrieben:

function OpenProdukt(ProduktID, ProduktName){

ProduktFenster = window.open("Produkt.php?urlProduktID=" + ProduktID, "ProduktName", "width=468 height=505, top=0, left=0, dependent=yes");
ProduktFenster.focus();
}

das Skript wird wie folgt aufgerufen:

mit php wird eine liste aller Produkte aus einem Datenbank erstellt:
<a href="javascript:OpenProfil('$Produkid', '$ProduktName')">$ProduktName</a>

Mein Problem ist es:

Das Skript funktioniert fehlerfrei, aber es öffnet nur ein Window.
Meine Frage ist, wie kann ich mein Skript umschreiben, so dass ich mehrer Fenster öffnen kann.
Wenn ein Benutzer das Fenster eines bestimmten Produktes schon mal geöffnet hat und in der Liste wieder auf dem Produktname klickt, dann soll
das entsprechende Fenster im vordergrund erschein ohne ein neues zu öffnet.

Kann jemand mir helfen oder vielleicht ein tip geben.

Vielen Dank im Vorraus.
pchilfe
 
Der 2. Parameter von open() ....bei dir "ProduktName" muss variieren...dann erhältst du auch mehrere Fenster(alle Fenster müssen also unterschiedliche Namen haben...dafür steht nämlich dieser 2. Parameter)

Allerdings seih angemerkt, dass handelsübliche Popupblocker pro klick nur 1 Popup zulassen...weitere werden also geblockt, selbst wenn du die erwähnte Änderung vornimmst
 
Vielen Vielen Dank. Habe den Windowname variiert und es funktioniert sehr gut. Das mit dem Popupblocker kann mann dagegen nichts tun. Der Benutzer wird darauf hingewiesen seinen Popup-Blocjer zu deaktivieren oder die Einstellungen anzunehmen oder

hast du vielleicht eine andere Möglichkeit?

Nochmal vielen Dank für den Hinweis ....

Gruß
pchilfe
 
Dagegen kann man nichts tun....wenn das so einfsch ginge, wären Popupblocker ja recht überflüssig, weil es jeder tun würde :-)

Aber ich seh jetzt, dass ich mich verlesen habe :-(
Du öffnest ja nicht mehrere Fenster mit einem Klick, sondern je 1 pro Klick....also kein Problem mit nem Popupblocker :)

Zu der Sache, wie sich kein neues Fenster öffnet, wenn man auf einen Link nochmal klickt...das sollte ja nun schon gehen.
Problem ist nur, diesem Fenster den Fokus zu geben.
Da kommt die Variable, in der du das Fenster gespeichert hast(Produktfenster), zum Tragen...auch diese muss einen eindeutigen Namen haben.
Praktischerweise könntest du da den Fensternamen verwenden. Per eval() bekommst du das Ganze dann gut hin:
Code:
<script type="text/javascript">
<!--
function OpenProdukt(ProduktID, ProduktName){
eval(ProduktName+' = window.open("Produkt.php.html?urlProduktID='+ ProduktID+'", "'+ProduktName+'", "width=468 height=505, top=0, left=0, dependent=yes,location=yes")');
eval(ProduktName+'.focus()');
}
//-->
</script>
Beachte dabei, dass "Produktname" nur aus Buchstaben, Zahlen und dem Unterstrich bestehen darf.
 
hallo Sven Mintel,

Tausand Danke für deineVorschläge und Lösungen. jetzt funktioniert alles wie ich es gerne hätte.

Was mich sehr an der Sache ärgert, dass die Eigenschaft: "dependent=yes" bei Netscape gut funktioniert, wenn man das Hauptfenster schließt, werden auch alle daraus generrierte Fenster geschlossen. Bei Internet Explorer nicht.

Hast du vielleicht auf dem Lager eine Lösung dafür :).

Gruß ...
pchilfe
 

Neue Beiträge

Zurück