Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

JS: opener existiert nicht?!

Empfohlene Antworten

Veröffentlicht

Hallo,

ich hoffe hier kann mir jemand helfen.

Ich habe folgendes Problem. Ich habe eine Seite mit mehreren Frames.

In einem Frame habe ich eine Toolbar, in einem anderen den Content.

Ich habe in der Toolbar einen Button mit dem ich meinen Daten einen neuen Datensatz hinzufügen kann.

Es öffnet sich mit dem Befehl window.open ein Fenster, in dem ich die Daten eingebe und schließlich folgende Funktion aufrufe um das Fenster wieder zu schließen und die Daten im Content zu aktualisieren.

opener.parent.content.window.location.reload();

window.close();

Das funktioniert auch soweit.

Rufe ich allerdings das gleiche Fenster aus dem Content-Frame auf um einen Datensatz zu bearbeiten, bekomme ich beim Aufruf der o.g. Funkion die Fehlermeldung. "opener has no properties"

:confused:

Gruß Tom

Hallo,

wäre es vielleicht möglich, dass du das Fenster aus dem content-Frame nicht mit "window.open" öffnest?

Wenn ja, versuch' das mal, wenn nicht, bitte trotzdem schreiben ... oder ggf. auch per PN den Quellcode. Das ist dann doch etwas leichter ...

Hi danke für die Antwort!

Doch das Fenster wird in beiden Fällen über die gleiche Funktion geöffnet. Also 100%ig per window.open().


/* JAVASCRIPT FUNKTION */

function popup_center(url,name) {

	var url;

	newwindow = window.open(url,name,"width=800,height=600,left="+(screen.width/2-400)+",top=" +(screen.height/2-330)+",scrollbars=1,toolbar=0,resizable=0,menubar=0,modal=1");

}


//BUTTONCLICK, DER IN DER TOOLBAR IM TOPFRAME GENERIERT WIRD

$tmp_array[] = toolbar::button_changeproperty('button_new','onclick','function() {popup_center(\'admin.php?_class=newkampagnen\',\'Neue Kampagne\');}');


//BUTTONCLICK IM CONTENTFRAME

<a href="#" onclick="popup_center(\'admin.php?_class=newkampagnen&_id='.$id.'\',\'Kampagne bearbeiten\');"><img src="_backend/_images/icon_change.gif" border="0" title="Kampagne ändern" alt="Kampagne ändern"></a>

Wird im geöffneten Fenster auf speichern geklickt. Werden die Argumente an ein Dokument geschickt, welches im onLoad-Event folgende Funktion aufruft.

function postdata_onLoad() {

	opener.parent.content.window.location.reload();

	window.close();

}

Wie gesagt in über die Toolbar funktioniert das Spektakel und im Content nicht.

Hm,

in den Code-Snippets scheint alles soweit in Ordnung zu sein ... kannst du mir jetzt vllt. den Quelltext der gesamten Seite (d.h. Frameset, Frames, usw.) schicken? Wenn da brisante und/oder geheime Daten drin sind, diese bitte vorher rauslöschen (zwecks Betriebsgeheimnis und so ...)

Dann kann ich mir das mal genau anschauen und lokal bei mir auch mal ausprobieren ...

(Und bitte nur den Quelltext der generierten Seite und des Popups, nicht den PHP Quelltext ... !)

Dangö :)

Konnte das nicht so einfach auseinandernehmen, so dass du eine lokal lauffähige Version gehabt hättest. Dazu ist die ganze Sache zu komplex.

Aber ich habe den Fehler gefunden, es lag auf dem <tr> in dem auch der Button liegt auch noch ein onclick-Event, welches dort völlig fehl am Platz war.

Die dargestellten Code-Snippets ließen natürlich nicht so tief blicken.

Aber erst durch diesen Thread habe ich mich so damit beschäftigt, dass ich es selbst finden konnte. :D

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.