it-swarm.com.de

Verhindern Sie das Erfassen von iframe-Bildern auf youtube

Ich habe ein Standard-Youtube-Embed-iframe aus einem zufälligen Video:

<iframe width="560" height="315" 
src="https://www.youtube.com/embed/ixJ5NbvXg_A" frameborder="0"
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>

Ich habe dies ein paar Mal kopiert, um einen Bildlaufüberlauf zu erhalten.

<html>
<head></head>
<body>
<iframe width="560" height="315" src="https://www.youtube.com/embed/Mm2eYfj0SgA" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>
<iframe width="560" height="315" src="https://www.youtube.com/embed/Mm2eYfj0SgA" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>
<iframe width="560" height="315" src="https://www.youtube.com/embed/Mm2eYfj0SgA" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>
<iframe width="560" height="315" src="https://www.youtube.com/embed/Mm2eYfj0SgA" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>
<iframe width="560" height="315" src="https://www.youtube.com/embed/Mm2eYfj0SgA" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>
<iframe width="560" height="315" src="https://www.youtube.com/embed/Mm2eYfj0SgA" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>
</body></html>

Wenn ich dies mithilfe des Django-Servers auf localhost verwende, verhindern die Iframes das Blättern der Seite.

Wenn Sie den Cursor über ein Video bewegen und dann mit dem Mausrad blättern, funktioniert es nicht.

Die wirklich lustige Sache ist, wenn ich den gleichen Code einfügen und in einer lokalen Datei auf dem Desktop speichern. Dann öffnen Sie es mit Chrom, der Scroll funktioniert über Youtube-Videos.

Ich habe in den Entwicklertools nachgesehen, dass die Datei exakt den gleichen HTML-Code hat. Es gibt 100% kein CSS oder Javascript, es gibt keine Vorlagen, nichts. In beiden Fällen gibt es nur eine einfache HTML-Datei.

Version 71.0.3578.98 (Offizieller Build) (64-Bit)

5
Vlad Otrocol

Mein besonderes Problem war ein Fehler in Chrome. Es würde gelöst werden, wenn ich den Browser neu starte.

0
Vlad Otrocol

Versuchen Sie es mit der letzten Antwort - der https://github.com/alvarotrigo/fullPage.js/issues/2229

1
Jacob Frunze

Sie können versuchen, die CSS des Körpers wie zu ändern

body{
    overflow: auto;
}
0
Super Penguino

Das funktioniert in meinen Browsern gut:

<html>
<head></head>
<body>
<iframe width="560" height="315" src="https://www.youtube.com/embed/Mm2eYfj0SgA" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>
<iframe width="560" height="315" src="https://www.youtube.com/embed/Mm2eYfj0SgA" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>
<iframe width="560" height="315" src="https://www.youtube.com/embed/Mm2eYfj0SgA" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>
<iframe width="560" height="315" src="https://www.youtube.com/embed/Mm2eYfj0SgA" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>
<iframe width="560" height="315" src="https://www.youtube.com/embed/Mm2eYfj0SgA" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>
<iframe width="560" height="315" src="https://www.youtube.com/embed/Mm2eYfj0SgA" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>
</body></html>

Können Sie einen Ausschnitt veröffentlichen, der das Problem reproduziert? 

0
Mosè Raguzzini

Klingt für mich wie ein Fehler im Browser; Hier ist ein einfaches Skript, das verhindert, dass es passiert. Es fügt dem Fenster ein Bildlaufereignis hinzu, das Zeigerereignisse auf den Iframes deaktiviert, wenn die Seite einen Bildlauf durchführt, und diese 100ms nach dem Ende des Bildlaufs wieder aktivieren. Da das Ereignis im Aufnahmemodus hinzugefügt wird, wird es ausgelöst, bevor das Ereignis vom iframe abgefangen werden kann.

<script>

  (function() {

    var iframes, locked = null;
    window.addEventListener("scroll", scroll, true);

    function scroll(e) {

      if (!locked) {
        iframes = document.querySelectorAll('iframe');
        lock('none');
      }

      clearTimeout(locked);
      locked = setTimeout(function() {
        locked = null;
        lock('auto');
      }, 100);

    }

    function lock(value) {
      for (var i = 0; i < iframes.length; i++) {
        iframes[i].style.pointerEvents = value;
      }
    }

  })();

</script>
0
aecend