FYTE /Fast YouTube Embedded/ Player

Hugely improves load speed of pages with lots of embedded Youtube videos by instantly showing clickable and immediately accessible placeholders, then the thumbnails are loaded in background. Optionally a fast simple HTML5 direct playback (720p max) can be selected if available for the video.

这些是代码更新过的版本。 显示所有版本

  • v2.15.1 2025-01-21

    fix formatting of duration

  • v2.15.0 2024-12-27

    stop iframes via location + native cover fit

  • v2.14.0 2024-11-26

    improve reliability: don't use expando as some sites break it

  • v2.13.2 2024-06-11

    fix autoplay, exclude pikabu.ru

  • v2.13.1 2024-05-26

    speed up hasChildWindow

  • v2.13.0 2024-05-26

    fix video card in google search

  • v2.12.19 2024-05-12

    lazy db init, idle if no frames, fix cover url

  • v2.12.18 2024-03-22

    fix indexedDB auto clean-up

  • v2.12.17 2023-10-10

    switch from localStorage to indexedDB to improve page load performance

  • v2.12.16 2023-08-19
    • fix errors for trustedTypes and YTlistener
    • custom rules in GM storage (use your userscript manager editor for storage)
    • minify cache data
    • reveal iframe earlier on error
  • v2.12.15 2022-06-27

    tampermonkey compat

  • v2.12.14 2022-06-26

    typo

  • v2.12.13 2022-06-26

    fix object embeds

  • v2.12.12 2022-03-10

    google search fullcard video fix

  • v2.12.11 2021-10-07

    video card in google search

  • v2.12.10 2021-07-22

    use watch page since get_video_info is gone

  • v2.12.9 2021-07-12

    show reason when non-playable

  • v2.12.8 2021-06-18

    fix get_video_info

  • v2.12.7 2021-01-18 reset paddings/margins
  • v2.12.6 2020-12-20 fix video card on google.com
  • v2.12.5 2020-07-09 fix fullscreen button
  • v2.12.4 2020-06-16 fix google search video card
  • v2.12.3 2020-05-08 only override fullscreen button if frame is reachable
  • v2.12.2 2020-05-04 src may be null
  • v2.12.1 2020-04-27 restore the missing comma in known titles; use onvolumechange
  • v2.12.0 2020-04-19 rewrite to ES2017 + don't exit full screen upon seeking in timeline + show timestamp in storyboard
  • v2.11.0 2020-03-25 typo
  • v2.11.0 2020-03-24 support invidio.us player
  • v2.10.1 2020-02-21 skip already deleted nodes
  • v2.10.0 2020-01-30 various fixes
  • v2.9.18 2019-12-19 preserve CSS transform
  • v2.9.17 2019-08-12 decode youtube signature
  • v2.9.16 2019-08-12 fix video info parser
  • v2.9.15 2019-07-27 skip nodes with position:fixed and "YouTube on Hover Preview"
  • v2.9.14 2019-07-27 only recreate the YT fullscreen button if there's a parent FYTE instance (which may not be the case if the user excluded the site manually)
  • v2.9.13 2019-06-18 correctly pause/unpause on click in Chrome
  • v2.9.12 2019-03-24 force-enable the fullscreen button
  • v2.9.11 2019-01-05 don't recheck frames/objects take 2
  • v2.9.10 2019-01-05 don't recheck frames/objects
  • v2.9.8 2018-11-27 allow fullscreen and autoplay in new Chrome
  • v2.9.7 2018-10-20
  • v2.9.6 2018-10-20
  • v2.9.5 2018-10-16
  • v2.9.4 2017-12-08
  • v2.9.3 2017-12-07 fix videos on play.google.com
  • v2.9.2 2017-11-19 fix resizing of a pinned player
  • v2.9.1 2017-11-18 intercept videos on reddit comment pages
  • v2.9.0.5 2017-09-22 strip "v=" in invalid links like "/embed/v="
  • v2.9.0.4 2017-08-26 also process data-src attributes
  • v2.9.0.3 2017-08-25 reset CSS transform
  • v2.9.0.2 2017-08-19 fix fullscreen
  • v2.9.0.1 2017-08-17 workaround for chrome cssText property bug
  • v2.9.0 2017-08-14
  • v2.8.9 2017-08-12
  • v2.8.8 2017-07-24 process videos on developers.google.com
  • v2.8.7 2017-07-12 don't add span element for duration if it's unknown
  • v2.8.6 2017-07-11 autocleanup cache; show fps
  • v2.8.5 2017-06-07 clarify video quality option via tooltip
  • v2.8.4 2017-06-06 Add default video quality option
  • v2.8.3 2017-05-27 prevent double activation of iframe player
  • v2.8.2 2017-05-23
  • v2.8.1 2017-05-22
  • v2.8.0 2017-04-08 fix https://greasyfork.org/en/forum/discussion/21433/
  • v2.7.9 2017-01-31 Fix occasional double-fetching of storyboard thumbnails
  • v2.7.8 2017-01-31 Handle CSS columns to calc the dimensions
  • v2.7.7 2016-12-07 Expand the parent-eating rule to check paddingTop on the parent element itself like https://jakearchibald.com/2016/fun-hacks-faster-content/
  • v2.7.6 2016-10-24 fix theverge videos
  • v2.7.5 2016-10-17 Skip playlist embeds
  • v2.7.4 2016-10-03 exclude some google+ iframes used in youtube's notifications
  • v2.7.3 2016-09-07 Don't try to process non-youtube videos, don't get unneeded info for autoplayed videos
  • v2.7.1 2016-08-12 Fix the first click-to-pin in iframe mode
  • v2.7.0 2016-08-08 edit description
  • v2.6.9 2016-08-07 Don't start dragndrop off the control bar
  • v2.6.8 2016-08-07 Chrome hack to restore autofullscreened iframes
  • v2.6.7 2016-08-07 Delayed cover image display for autoplayed videos
  • v2.6.6 2016-08-07 Keep centering when sizemode=original
  • v2.6.5 2016-08-07 typo
  • v2.6.4 2016-08-07 Cache titles and other info
  • v2.6.3 2016-08-07 Middle-click starts fullscreen playback
  • v2.6.2 2016-08-06 Don't animate background when autoplaying
  • v2.6.1 2016-08-04 Process more OBJECT embeds
  • v2.6.0 2016-08-04 Fix: clicking the title should open a youtube page
  • v2.5.9 2016-08-03 Fix stacking on the bottom, don't stack on self.
  • v2.5.8 2016-08-03 Drag'n'drop zone may be the original placeholder. Add 9gag.
  • v2.5.7 2016-08-02 Add drag'n'drop pinning, make 'pinnable' On, Hide, Off. Show shadow under corner-pinned videos.
  • v2.5.6 2016-08-01 Add transparent corner pins option. TL nanodedup
  • v2.5.5 2016-07-31 Corner pins fade-in/out on hover. Inject styles only if processed videos are present.
  • v2.5.4 2016-07-31 Actually use the 'pinnable' option
  • v2.5.3 2016-07-31 Move pinned directly played videos on top
  • v2.5.2 2016-07-31 Improve the description
  • v2.5.1 2016-07-31 Corner pinning. Fixup: properly cleanup adopted CSS in FF.
  • v2.5.0 2016-07-31 Correctly set title link width. Fix on-resize timer, speedup the adjustment. Parse video size more reliably. Add storyboard element only when data is obtained. Display storyboard thumb to the left of mouse cursor
  • v2.4.9 2016-07-30 Keep display:inline as display:inline-block. Reuse image preloader. Storyboard fixup when part index = 0
  • v2.4.8 2016-07-30 Storyboard click jumps to corresponding time. Spinner fixups. Correctly override existing url params.
  • v2.4.7 2016-07-29 Fix storyboard preview. Show spinner while loading storyboard pic under cursor.
  • v2.4.6 2016-07-29 Show full length storyboard (seekbar preview)
  • v2.4.5 2016-07-28 Compatibility with pre-47 Firefox
  • v2.4.4 2016-07-28 Don't intercept Youtube Link Title
  • v2.4.3 2016-07-27 Fix youtu.be links, add reddit videos. Don't adopt original margin. FF rounding bug fix. Constrain min-width and min-height. Fix embedly's youtube.com%2Fembed.
  • v2.4.2 2016-07-26 Prioritize per-site rules. Work around FF's buggy getElementsByTagName, getComputedStyle. Move our rules to the end of HEAD to increase CSS specificity
  • v2.4.1 2016-07-26 fixup for 'prevent parent clipping'
  • v2.4.0 2016-07-25 Per-site rules (pikabu.ru added). Embed the icon as data url. Code cosmetics.
  • v2.3.9 2016-07-25 Consume parents of retardedly positioned videos. Fade-in black background color from transparent.
  • v2.3.8 2016-07-25 fixup: check googvid.length
  • v2.3.7 2016-07-25 Speedup page loading: reduce time spent in MutationObserver 5x times
  • v2.3.5 2016-07-24 Process autoplay=1 videos
  • v2.3.4 2016-07-24 Add translations: Russian
  • v2.3.3 2016-07-23 Original size mode: never remove parent elements
  • v2.3.2 2016-07-22 Keep parent element if it has a class name or id; strip 'overflow:hidden' from parent chain
  • v2.3.1 2016-07-22 Remove +0.49
  • v2.3.0 2016-07-21 Don't round width and height to integer
  • v2.2.8 2016-07-21 fixup
  • v2.2.7 2016-07-21 Fixed: fresh install
  • v2.2.6 2016-07-21 Process disqus comments, force fullscreen when inside nested iframes
  • v2.2.5 2016-07-20 Inaccessible video background #888
  • v2.2.4 2016-07-20 Gray out inaccessible video placeholders
  • v2.2.3 2016-07-20 Replace 'watch?v=' with 'embed/' when loading iframe player
  • v2.2.2 2016-07-20 Missing ;
  • v2.2.1 2016-07-19 fixup: getComputedStyle is implemented differently in Chrome and Firefox
  • v2.2.0 2016-07-19 Keep some attributes of custom positioned videos
  • v2.1.9 2016-07-19 Fixup of option buttons click
  • v2.1.8 2016-07-19 fixup for google results top video
  • v2.1.7 2016-07-19 Don't force custom size to a multiple of 10
  • v2.1.6 2016-07-18 Google results: process top video match
  • v2.1.5 2016-07-18 Make video player size equal to the FYTE container, so it's autostretched when container size changes
  • v2.1.4 2016-07-17 Adjust height to keep proportions when desired player width is constrained by page layout
  • v2.1.3 2016-07-15 Limit storyboard thumbnail height to 33%
  • v2.1.2 2016-07-15 Force visibility of Play button
  • v2.1.1 2016-07-15 fixup: infinite loop
  • v2.1 2016-07-15 Storyboard thumbnails. Faster title fetching. Fix 'Original' size mode
  • v2.0.2 2016-07-11 fixup: FF options size selector
  • v2.0.1 2016-07-11 fixup: allow click-to-play before video info is fetched
  • v2.0 2016-07-11 Custom size options. Use !important for all CSS. Raise CSS specificity for video/iframe by inlining the styles
  • v1.5.5 2016-07-10 fixed some issues with 4:3 embeds, [x]resize now keeps the clicked video's center at a relatively same window position
  • v1.5.4 2016-07-09 Use the actual aspect ratio of video to display the thumbnails, add "Safe" option, autoresize videos when browser window size changes
  • v1.5 2016-06-30 Show video title and duration on thumbnails
  • v1.4.4 2016-03-11 Replace entire OBJECT element
  • v1.4.3 2016-02-04 Adjust thumbnail size on DOMContentLoaded
  • v1.4.2 2016-01-18 fixup tooltip text
  • v1.4.1 2016-01-18 fixup: remove "debugger" call
  • v1.4 2016-01-18 Fix options behavior. Autopause other videos when a new video starts to play.
  • v1.3.3 2016-01-18 Support @connect-src
  • v1.3.2 2015-12-19 Rename
  • v1.3.1 2015-12-19 No preemptive fade-out on HTML5 video
  • v1.3 2015-12-19 Fix playback on new Youtube videos + fade-out
  • v1.2.3 2015-11-10 don't process non-video embeddings like that on last.fm
  • v1.2.2 2015-11-10 fix positioning via !important
  • v1.2.1 2015-11-08 increase specificity
  • v1.2 2015-10-24 +option Play directly
  • v1.1.2 2015-10-12 update to setMutationHandler
  • v1.1.1 2015-08-25
  • v1.1.0 2015-05-13 fixup
  • v1.0.9 2015-05-13 override site's padding and margin for thumbnail elements
  • v1.0.8 2015-05-12 Remember volume, show option [x] resize to fit
  • v1.0.7 2015-04-29 explicitly set the fonts of the links
  • v1.0.6 2015-04-27 process old flash EMBEDs too
  • v1.0.5 2015-04-27 fixup
  • v1.0.4 2015-04-27 HTML5 mode: show a title on hover with a link to watch on youtube
  • v1.0.3 2015-04-24 don't break frames with autoplay=1
  • v1.0.2 2015-04-17 Add '?' to iframe src if needed
  • v1.0.1 2015-04-17 HTML5 player: better stream selection, should play hd720 by default
  • v1.0 2015-04-16