Contao-Camp 2024
Ergebnis 1 bis 11 von 11

Thema: GELÖST "Erlaubnis" einholen vor Aufruf externer Seite

  1. #1
    Contao-Nutzer
    Registriert seit
    20.02.2014.
    Beiträge
    90

    Standard GELÖST "Erlaubnis" einholen vor Aufruf externer Seite

    Hallo zusammen!
    Hab ein wenig gesucht, aber fand aufgrund mangelnder Fachkenntnis keine passenden Begriffe hierfür, also kurz zum Problem:

    Hab eine Unterseite in Contao 4.9 erreichbar unter domain/termine und in einem Artikel dieser Seite mittels iframe einen Google-Kalender eingefügt, der von mehreren externen Leuten befüllt wird und unter /termine nur les-, aber nicht editierbar ist. Nun hätte ich gern, wenn halbwegs einfach technisch möglich, eine Art Pop-up, das mich beim Seitenaufruf von /termine noch einmal fragt, bevor der Google-Kalender geladen wird. Kann man das umsetzen bzw. kann man so überhaupt verhindern, dass im Hintergrund bereits Daten von Google (könnte aber auch bei anderen Diensten hilfreich sein) geladen werden?

    Danke für eventuelle Tipps!
    Geändert von dereo (06.11.2021 um 12:51 Uhr)

  2. #2
    Contao-Nutzer
    Registriert seit
    15.03.2010.
    Ort
    AT
    Beiträge
    204

    Standard

    So wäre das zb. möglich (nicht getestet):
    HTML-Code:
    <iframe id="externalurl" data-src="https://www.google.at"></iframe>
    <script>
    if (confirm("Möchten Sie das iFrame Laden?")) {
      let elem = document.getElementById('externalurl');
      //elem.scr = elem.getAttribute('data-src');
      elem.setAttribute('src', elem.getAttribute('data-src'));
    } else {
      alert ("dann halt nicht");
    }
    </script>
    Edit: Fehler richtig gestellt....
    Geändert von heyho (06.11.2021 um 17:01 Uhr)

  3. #3
    Contao-Nutzer
    Registriert seit
    20.02.2014.
    Beiträge
    90

    Standard

    Super, vielen, vielen Dank! Das schaut schon so aus, wie ich mir das vorstelle - schlank und wahrscheinlich als Hinweis total ausreichend sowie mit dem Code in einem eigenen Template wahrscheinlich auch sehr updatesicher.
    Allerdings hats bei mir mit "data-src" anfangs nicht funktioniert, hab dann das "data-" 2x weggelassen und nur "src" verwendet.

    EDIT: Wenn ich bestätige "dann halt nicht", wird nach Schließen dieser Meldung der Kalender aber dann trotzdem geladen ...
    Geändert von dereo (06.11.2021 um 10:15 Uhr)

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.062
    Partner-ID
    10107

    Standard

    Wenn du src statt data-src verwendest, bringt das nichts. Dann wird die Verbindung natürlich sofort aufgebaut.
    » sponsor me via GitHub or PayPal or Revolut

  5. #5
    Contao-Nutzer
    Registriert seit
    20.02.2014.
    Beiträge
    90

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Wenn du src statt data-src verwendest, bringt das nichts. Dann wird die Verbindung natürlich sofort aufgebaut.
    Danke für den Hinweis, aber wenn ich data-src verwende, lädt der Kalender nicht, obwohl ich bei der Meldung mit OK bestätige.

  6. #6
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.942

    Standard

    Du hast den JS-Code exakt so verwendet, wie in #2 angegeben? Und Dein iFrame hat auch die ID externalurl?
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  7. #7
    Contao-Nutzer
    Registriert seit
    20.02.2014.
    Beiträge
    90

    Standard

    Zitat Zitat von fiedsch Beitrag anzeigen
    Du hast den JS-Code exakt so verwendet, wie in #2 angegeben? Und Dein iFrame hat auch die ID externalurl?
    Hab ein Template angelegt und folgendes eingegeben

    screen_template.JPG

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.062
    Partner-ID
    10107

    Standard

    Wird das auch überhaupt im Frontend so ausgegeben? In den neuesten Contao Versionen musst du die entsprechenden HTML Tags und HTML Attribute erst erlauben.
    » sponsor me via GitHub or PayPal or Revolut

  9. #9
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.942

    Standard

    Ich hebe es eben lokal nachgestellt:

    Mit

    Code:
      elem.setAttribute('src', elem.getAttribute('data-src'));
    anstelle

    Code:
      elem.scr = elem.getAttribute('data-src');
    funktioniert es. Voraussetzung ist dabei aber auch, daß sich die externe Site per iframe einbinden lässt. Sonst erhältst Du: "Refused to display '...' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'."
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  10. #10
    Contao-Nutzer
    Registriert seit
    20.02.2014.
    Beiträge
    90

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Wird das auch überhaupt im Frontend so ausgegeben? In den neuesten Contao Versionen musst du die entsprechenden HTML Tags und HTML Attribute erst erlauben.
    Prinzipiell schaut der Kalender optisch aus wie auf der alten Seite und wird problemlos geladen. Ich hab mich bezüglich iFrame an die Anleitung unter Punkt 2/externe Datei gehalten und dachte, dann muss ich nicht separat noch was erlauben.

  11. #11
    Contao-Nutzer
    Registriert seit
    20.02.2014.
    Beiträge
    90

    Standard

    Zitat Zitat von fiedsch Beitrag anzeigen
    Ich hebe es eben lokal nachgestellt:

    Mit

    Code:
      elem.setAttribute('src', elem.getAttribute('data-src'));
    anstelle

    Code:
      elem.scr = elem.getAttribute('data-src');
    funktioniert es. Voraussetzung ist dabei aber auch, daß sich die externe Site per iframe einbinden lässt. Sonst erhältst Du: "Refused to display '...' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'."
    Supi!!! Jetzt funktionierts wie gewünscht!

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •