[Gelöst] Fenster im Vordergrund (alwaysRaised)

  • Hallo an die Experten!

    Ich habe eine Anwendung für das Intranet geschrieben, wo ich ein Fenster von Firefox als Info-Fenster immer im Vordergrund halten kann:

    Code
    Javascript:
    1  netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserWrite");
    
    
    2  Fenster = window.open("db-browser-i.php?" + params, target="_blank",
    3  location=no,scrollbars=yes,resizable=yes,dependent=yes,alwaysRaised");
    
    
    4  Fenster.focus();


    Dieses Script braucht erweiterte Rechte. Das wird in Zeile 2 angefordert.
    Mit dem Parameter 'alwaysRaised' bleibt das Fenster, auch wenn das Hauptfenster aktiv ist, im Vordergrund.
    In der prefs.jf sind folgende Zeilen eingetragen:

    Code
    user_pref("capability.principal.codebase.p0.granted", "UniversalBrowserWrite");
    user_pref("capability.principal.codebase.p0.id", "http://localhost");
    user_pref("capability.principal.codebase.p0.subjectName", "");


    Das funktioniert seit Jahren wunderbar, aber ab der Firefox Version 12 nicht mehr.
    Anleitungen im Internet zum Einstellen dieses Verhaltens sind veraltet und funktionieren nur bis FF11.

    Ist das ein Bug, oder ist das Verhalten der Javascript-Engine verändert worden?
    Kann ich dieses Verhalten irgendwie anders erreichen?

    Schon mal schönen Dank
    Wolfgang

    Einmal editiert, zuletzt von wkraemer (21. Juni 2012 um 19:34)

  • Hi,

    Mal so versuchen:

    Falls Du im Profilordner die Datei user.js hast, die 3 aus pref.js in die user.js kopieren.

    Falls nicht, erstelle eine leere TXT Datei und benenne sie user.js

    Gruß HarryB.

  • Hallo HarryB.

    vielen Dank für deinen Tipp, es funktioniert leider auch nicht. Die drei Zeilen aus der user.js übernimmt Firefox automatisch in die pref.js.

    Gruß
    Wolfgang

  • .Hermes
    Insgesamt sind es über 21000 Programmzeilen... Ich werde aber ein einfaches Beispiel basteln.

    Hier das Beispiel (es funktioniert auch ohne installierten Webserver):
    Die Datei test.html zeigt einen Link, der per Javascript ein neues Fenster öffnet und darin die Datei anzeigen.html darstellt.

    test.html

    anzeigen.html

    HTML
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title></title>
    </head>
    <body>
    Ich wurde von test.html aufgerufen.
    </body></html>

    Gruß
    Wolfgang

    2 Mal editiert, zuletzt von wkraemer (22. Juni 2012 um 08:38)

  • Ich habe die Lösung für das Problem gefunden!

    Es muss ab der Version 12 ein anderes Recht angefordert werden:

    Code
    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");

    Wenn das Script auch in älteren Firefoxversionen laufen soll, muss auch die alte Zeile vorhanden sein.

    Code
    netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserWrite");

    Gruß
    Wolfgang