Hilfe bei Javascript: opener.focus() funktioniert nicht :-(

tabster

Member
Themenstarter
Registriert
4 Jan. 2008
Beiträge
599
Ich habe hier zwei Testseiten:

index.html:
Code:
<html>
<head>
<script LANGUAGE="JavaScript">
<!--
function ZweitFenster() {
    nfenster = window.open('datei.html','POPUP');
    nfenster.focus();
}
//-->
</script>
</head>
<body>
[url="javascript:ZweitFenster();"]Fenster öffnen[/url]
</body>
</html>

datei.html:
Code:
<html>
<head>
<script LANGUAGE="JavaScript">
<!--
function zurueck() {
    window.opener.focus();
}
//-->
</script>
</head>
<body>
[url="javascript:zurueck();"]Zurück zum Start[/url]
</body>
</html>

Die gewünschte Funktionalität ist, dass beim Klick auf "Fenster öffnen" in der Datei index.html in einem zweiten Tab die Datei datei.html geladen wird. Wird dort dann auch "Zurück zum Start" geklickt, so soll der ursprüngliche Tab den Focus bekommen. Klickt man dort nochmals auf Fenster öffnen, soll datei.html auch wieder den Focus bekommen. Leider funktionieren beide focus-Anweisungen nicht.

Wie kann ich die gewünschte Funktionalität herstellen?

Ich benutze hier Firefox 3.0.8 auf Windows XP.
 
Hallo!

Das Aktivieren von Fenstern mittels focus() ist bei den meisten modernen Browsern aus Sicherheitsgründen deaktiviert.

Grüße
andi42
 
Gibt es denn die Möglichkeit, diese Funktionalität beim Firefox wieder zu aktivieren. Mir ist klar, dass das jeder Benutzer für sich aktivieren müsste. Aber ist das überhaupt möglich und wenn ja, wie?
 
[quote='tabster',index.php?page=Thread&postID=562942#post562942]Gibt es denn die Möglichkeit, diese Funktionalität beim Firefox wieder zu aktivieren. [/quote]
Sicherheitseinstellungen fuer die Bequemlichkeit der Seiten/Softwarebastler sabotieren? Sollen die sich doch was anderes ausdenken.
 
muss es unbedingt ein neues fenster/neuer tab sein? wie wärs ansonsten mit einem iframe den du auf hidden/visible setzt?
 
[quote='EuleR60',index.php?page=Thread&postID=562971#post562971]Sicherheitseinstellungen fuer die Bequemlichkeit der Seiten/Softwarebastler sabotieren? Sollen die sich doch was anderes ausdenken.[/quote]
Hast du denn einen Vorschlag, wie man die Funktionalität anders herstellen kann? Wenn nicht, dann würde ich mich freuen, wenn du trotzdem die Frage beantworten könntest, wie man das umstellt.

[quote='atomic-virus',index.php?page=Thread&postID=562985#post562985]muss es unbedingt ein neues fenster/neuer tab sein? wie wärs ansonsten mit einem iframe den du auf hidden/visible setzt?[/quote]
Ja, es muss ein neuer Tab sein. So wie du es vorschlägst müsste man dann diese ganze Tabgeschichte in einem Tab simulieren, oder? Das erscheint mir nicht soo praktisch und intuitiv bedienbar.
 
wenn man sich tabs als layer vorstellt, dann nicht...

Stell Dir das ganze einfach als 2 Blatt Papier vor, die du immer hintereinander schiebst. Mal ist Blatt 1, mal Blatt 2 oben. Was anderes machst du mit den Tabs ja nicht (oder doch?). Diese Funktionalität kannst du genauso mit Iframes oder noch einfacher mit DIVs realisieren (brauchst dann aber CSS).

edit: ach, jetzt verstehe ich, was du meinst... Ja, das ganze findet dann in einem Tab statt und du hast dann einfach einen Layer vor die Hauptseite geschoben...
 
Das blöde ist halt, dass es hier um ein bereits bestehendes System geht, das man dann erst umschreiben müsste. Früher ging es eben so - jetzt leider nicht mehr. Für Neuentwicklungen ist das jetzt klar. Gibt es trotzdem eine Möglichkeit, dem Firefox diese Funktionalität abzuringen oder das vielleicht mit einem anderen Browser zu lösen?
 
Ich hab gerade noch im Firefox (3.0.8 DE) nachgesehen: In den Javascript-Optionen kann man die Option "Fenster vor oder hinter andere legen" erlauben.

Grüße
andi42
 

Anhänge

  • firefox-focus.png
    firefox-focus.png
    27,6 KB · Aufrufe: 9
Wenn da schon von html geredet wird, die zentrierten popups funktionieren auch nicht mehr, entweder es geht ein neuer tab auf (FF & Opera) oder es passiert garnix (IE) oder er öffnet den popup links oben (Safari) :wacko:

Popups sind natürlich Geschmacksache aber ist die Zeit der Popups jetzt vorbei ?(
Code:
<script LANGUAGE="JavaScript">
<!--
function Fenster() {
    fenster = window.open('kontakt.html',' Kontakt','650','850','1','menubar=no,toolbar=no,personalbar=no,locationbar=no,resizable=no,scrollbars=no');
}
//-->
</script>
Hab ich was übersehen? Es ist schon so lange her daß ich damit zu tun hatte ;(

lg ...cc

Edit: Wenn ich height & width schreibe gehen die Popups in jedem Browser ausser IE6 links oben auf aber nicht zentriert, der Wert '1' hat keine Auswirkung :evil:
Code:
<script LANGUAGE="JavaScript">
<!--
function Fenster() {
    fenster = window.open('kontakt.html','Kontakt','height=650,width=850','1','menubar=no,toolbar=no,personalbar=no,locationbar=no,resizable=no,scrollbars=no');
}
//-->
</script>
 
du musst zusätzlich zur position auch noch die größe mit angeben.
Code:
Fenster1 = window.open(Adresse, "Zweitfenster", "width=300,height=400,left=100,top=200");

selfhtml open()

edit: sorry, das mit dem zentriert hab ich natürlich überlesen -.-
 
Hallo, ja ich hab in der S-HTML ja schon alles durch :D
Mit:
Code:
Fenster1 = window.open(Adresse, "Zweitfenster", "width=300,height=400,[b]left=100,top=200[/b]");
komm ich valign & align nicht ins center sondern 100px vom linken Rand weg und 200px vom Top ?(

Ich hab jetzt a Script gestohlen :rolleyes:
Code:
<Head>
<script type="text/javascript">
// <![CDATA[
function PopUp(w,h,ziel) {
  h = h - 20; var x=0, y=0, parameter="";
  if (w < screen.availWidth || h < screen.availHeight) {
    x = (screen.availWidth - w - 12) / 2;
    y = (screen.availHeight - h - 104) / 2;
    if (window.opera) y = 0; // Opera positioniert unter den Symbolleisten
    if (x<0 || y<0) { x=0; y=0; }
    else parameter = "width=" + w + ",height=" + h + ",";
  }
  parameter += "left=" + x + ",top=" + y;
  parameter += ",menubar=yes,location=yes,toolbar=no,status=no";
  parameter += ",resizable=yes,scrollbars=yes";
  var Fenster = window.open(ziel,"PopUp",parameter);
  if (Fenster) Fenster.focus();
  return !Fenster;
}
// ]]>
</script>

<Body>
[url="popup.html"] Demo [/url]
Das erfüllt jetzt mal meine Bedürfnisse und funktioniert wunderbar auf allen Browsern!

Ist für meine persönliche Seite, ich habs zwar vor 5 oder 6 Jahren gelernt aber seit dem programmier ich ja nichts, ich hab mich auf IKT & jetzt Elektrotechnik festgelegt und mag programmieren gar nicht!

THX & lg ...cc
 
[quote='andi42',index.php?page=Thread&postID=563158#post563158]Ich hab gerade noch im Firefox (3.0.8 DE) nachgesehen: In den Javascript-Optionen kann man die Option "Fenster vor oder hinter andere legen" erlauben.

Grüße
andi42[/quote]
Ja, das habe ich vorher auch schon probiert. Allerdings ändert das leider nichts am Fokus-Problem. Dann bleibt mir wahrscheinlich nichts anderes übrig, als es so zu akzeptieren oder eine Umschreibung über Layer oder Iframes vorzunehmen.
 
  • ok1.de
  • thinkstore24.de
  • ok2.de - Notebook Computer Server
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben