一時停止/完了したYouTube動画は、新しい投稿を読み込むためにスクロールが十分上の方に行くと自動的に再生され始める

If a YouTube video in a post is paused or finished playing and you scroll up or down the page enough to load new posts, the aforementioned video will start playing automatically. I’ve successfully recreated this issue on Windows 7 in Chrome version 56.0.2924.87 in this thread: Post your favorite video game glitches - #74 by jacknife - General Game Discussion - Let's Play Zone

  1. Load the post in the page above
  2. Play one or all of the videos in the post
  3. Pause them at any point
  4. Scroll up the page until the browser loads in new comments
  5. The videos will autoplay without any interaction

Here’s a thread about it on my forum if it’s of any help: Embedded Youtube Video Replaying - Site Feedback - Let's Play Zone

「いいね!」 6

Possibly related to this bugfix:

「いいね!」 2

From what I can see on the linked topic it appears the issue is still happening @eviltrout

「いいね!」 2

I have spent a lot of time this afternoon on this issue and I feel like this issue might not be fixable unless someone else has a brilliant idea.

The problem is in the virtual DOM with prepending (scrolling up). In this case, you are adding a bunch of elements (posts) to the beginning of an array. When the virtual DOM does its diff, it notices the element with the youtube <iframe> is not in the same place, so it removes and re-adds it later. This causes the youtube player to refresh the iframe, which causes it to play again.

It seems impossible to move an <iframe> in the DOM without reloading it.

Note that this bug doesn’t happen when scrolling down because appending posts doesn’t change the order. It also doesn’t matter if the user hasn’t started the video already, because lazyYT hasn’t inserted the iframe yet.

「いいね!」 4

So this does not happen in the scrolling down scenario?

No it doesn’t happen when scrolling down.

I have edited the topic to make this more clear.

A similar bug happens if you don’t stop the video. When you scrolling up the page, the video stops and after few seconds restart from the beginning.

I wonder if @Osama could take a look at this? It is annoying, and easy to repro.

「いいね!」 3

OK our debugging shows that for some reason the Youtube embedded player did fix the autoplay thing, so I am fixing the title here.

The bug we have is that we have “protection” in place when you click play that tells the “post cloaker”, hi … don’t cloak me. But this protection is somehow binned when you scroll up.

This means that if you play a song on youtube and scroll up it will just stop playing when we load the next chunk.

「いいね!」 1

It’s also the opposite, if you stopped it playing, it will now restart… by itself.

This has been assigned both to @eviltrout and @Osama over the years, we have invested lots of time here and simply can not come up with a fix.

I am tagging this pr-welcome … but keep in mind … difficulty level on this is somewhere around 11.

image

「いいね!」 13

Sorry to resurrect this, but I’ve noticed this starts happening now even when scrolling down. Not sure if something changed this bug recently to the worse, or if it’s a different bug altogether. Confirmed with several people in our instance. This makes video sharing threads quite unbearable, when the earlier videos start suddenly playing.

私もこれに同意します。スクロールアップまたはスクロールダウンのいずれでも発生し、以前に再生されたすべてのビデオがランダムに再生されます(Discourseがトピックで新しいコンテンツを読み込む際に以前のコンテンツを処理する方法と関係があると思いますが、正直なところわかりません)。

これについては複雑な思いがあります。600以上の投稿があるメガトピックで、スクロールダウンしても動画が再生され続けるという期待を人々が持つべきではないと思いますか? スクロールダウンしている場合、動画は表示されておらず、しばらく表示されていません。

例えば、閲覧中に長時間オーディオを再生したい場合は、訪れているサイトに関わらず、新しいタブで開くべきでしょうか?

私の意見では、そうすべきではありません。動画が一時停止または終了した場合、スクロールダウンしただけで自動的に再生されるべきではありません。(これは、タイトルが誤解を招くものであるにもかかわらず、説明されている動作です。)

実際、「タブアプローチが多すぎる」と感じる人向けに、「移動中に再生し続けたい」人のための代替手段があります。それはこちらです。

「いいね!」 1

これで良くなりましたか?

これは 3.0 安定版でも発生しています。面白いのは、ある動画は上にスクロールすると更新されるのに、下にスクロールすると一時停止したままになることです。別のランダムな動画は反対の動作をします。上にスクロールすると一時停止したままになり、下にスクロールすると再生が更新されます。

非常に迷惑です

ここではまだ何も変更を実装していません。

今後1〜2年でトピック表示を再構築する予定であり、状況が改善されることを願っています。簡単な解決策はありません。試しましたが。

「いいね!」 2