Firefox 68 ESR - Popup oder newTab mit JavaScript öffnen

  • Firefox-Version
    FF 68 ESR
    Betriebssystem
    Windows

    FF 68 ESR

    Frage:

    Ich suche eine Möglichkeit ein Popup auf meiner eigenen Seite korrekt zu öffnen. Leider lade ich immer im Popupblocker.

    Ziel:

    Der User klickt auf einen Button, JavaScript sollen einen neuer Tab auf eine andere externe WebSeite (z. B. OpenStreetMap) öffnen.

    Beispiel (auf AngurlarJS basierend)

  • UPDATE 2

    wenn ich es mit einem iFrame versuche, kommt immer dies

    Code
    // Open in new Browser tab, funktioniert erst mit einer Zeitverzögerung??? Popup Blocker
    $timeout(function() {
     $window.open(sOsmData,'iframe_a');
    }, 3000); 

    Ausgabe im iFrame

    Zitat

    Blockiert von der Inhaltsicherheitsrichtlinie (CSP)

    Beim Verbinden mit http://www.openstreetmap.org trat ein Fehler auf.

    Firefox hat diese Webseite daran gehindert, auf diese Weise geladen zu werden, weil die Webseite eine Inhaltsicherheitsrichtlinie (Content Security Policy) hat, die dies nicht erlaubt.


    UPDATE 3

    mit folgendem klappt es PRoblemlos, überschreiber aber die aktuelle Seite, was ich nicht möchte...

    Code
    sOsmData = 'https://www.openstreetmap.org/?mlat='+response.data[0].lat+'&mlon='+response.data[0].lon+'#map=17/'+response.data[0].boundingbox[1]+'/'+response.data[0].boundingbox[3];
    
    //
    window.location.href = sOsmData;

    Einmal editiert, zuletzt von thomas_w (30. Januar 2020 um 15:32) aus folgendem Grund: Ein Beitrag von thomas_w mit diesem Beitrag zusammengefügt.

  • LÖSUNG:

    1. eine Variable mit einem neue Tab erzeugen

    Code
    var newTabWindow = $window.open(),

    2. erst dann per $http() sich die Parameter zur neuen Seite zusammenstellen

    3. nun die OSM Seite wie folgt im neuen Tab öffnen (Detail siehe stackoverflow link)

    Code
    if (typeof response.data[0].lat === 'string') {
     
     sOsmData = 'https://www.openstreetmap.org/?mlat='+response.data[0].lat+'&mlon='+response.data[0].lon+'#map=17/'+response.data[0].boundingbox[1]+'/'+response.data[0].boundingbox[3];
     
     // die vorab erzeugte Variable nutzen... 
     // https://stackoverflow.com/questions/2587677/avoid-browser-popup-blockers
     newTabWindow.location.href = sOsmData;         
    
    }