r34init

r34fix

このスクリプトは単体で利用できません。右のようなメタデータを含むスクリプトから、ライブラリとして読み込まれます: // @require https://update.greasyfork.org/scripts/502404/1421028/r34init.js

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください。
// ==UserScript==
// @name         r34init
// @namespace    http://tampermonkey.net/
// @version      2024-08-01
// @description  r34fix
// @author       You
// @grant        none
// ==/UserScript==


function initKVSPlayTrailer() {
    console.log('init start')
    var n, r, c, e = /iphone|ipad|Android|webOS|iPod|BlackBerry|Windows Phone/gi.test(navigator.appVersion), o = 0;
    function l(e) {
        var i, s = e, e = s.find("video"), o = s.find("img");
        e.length ? (e.get(0).play(),
        o.hide()) : ($(".js-swipe").hide(),
        i = $('<div class="preview-progress"></div>'),
        s.append(i),
        setTimeout(function() {
            i.addClass("is-full")
        }),
        n = setTimeout(function() {
            var e = s.attr("data-preview")
              , t = (s.attr("data-subtitles"),
            $('<video autoplay loop muted playsinline src="' + e + '"></video>'));
            function a() {
                s.append(t),
                t.get(0).play(),
                o.hide(),
                i.remove()
            }
            r = setTimeout(function() {
                0 < t.get(0).readyState ? a() : c = setInterval(function() {
                    0 < t.get(0).readyState && (a(),
                    clearInterval(c))
                }, 0)
            }, 0)
        }, 0))
    }
    e ? $("body").find("[data-preview]").swipe({
        swipeLeft: function(e, t, a, i, s) {
            clearTimeout(n),
            clearTimeout(r),
            clearInterval(c);
            $(this).find("img");
            o++,
            $("[data-preview]").each(function(e) {
                var t = $(this)
                  , a = t.find("video");
                a.length && (a.get(0).remove(),
                $("img").show()),
                t.find(".preview-progress").remove()
            }),
            1 < o ? ($(this).find("video").eq(0).length && ($(this).find("video").get(0).remove(),
            $("img").show()),
            o = 0) : l($(this))
        },
        swipeRight: function(e, t, a, i, s) {
            clearTimeout(n),
            clearTimeout(r),
            clearInterval(c);
            $(this).find("img");
            o++,
            $("[data-preview]").each(function(e) {
                var t = $(this)
                  , a = t.find("video");
                a.length && (a.get(0).remove(),
                $("img").show()),
                t.find(".preview-progress").remove()
            }),
            1 < o ? ($(this).find("video").eq(0).length && ($(this).find("video").get(0).remove(),
            $("img").show()),
            o = 0) : l($(this))
        },
        preventDefaultEvents: !1,
        threshold: 80
    }) : $("body").on("mouseenter", "[data-preview]", function() {
        l($(this))
    }).on("mouseleave", "[data-preview]", function() {
        clearTimeout(n),
        clearTimeout(r),
        clearInterval(c);
        var e = $(this);
        e.find("img").show();
        var t = e.find("video");
        t.length && t.get(0).remove(),
        e.find(".preview-progress").remove()
    })
}