Libs_PayLoad_JVC

libs_Get_payload_JVC

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

スクリプトをインストールするには、Tampermonkey, GreasemonkeyViolentmonkey のような拡張機能のインストールが必要です。

You will need to install an extension such as Tampermonkey to install this script.

スクリプトをインストールするには、TampermonkeyViolentmonkey のような拡張機能のインストールが必要です。

スクリプトをインストールするには、TampermonkeyUserscripts のような拡張機能のインストールが必要です。

このスクリプトをインストールするには、Tampermonkeyなどの拡張機能をインストールする必要があります。

このスクリプトをインストールするには、ユーザースクリプト管理ツールの拡張機能をインストールする必要があります。

(ユーザースクリプト管理ツールは設定済みなのでインストール!)

このスタイルをインストールするには、Stylusなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus などの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus tなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

(ユーザースタイル管理ツールは設定済みなのでインストール!)

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
// GET PARSE Payload64GZIP
// ASYNCH

async function getPayloadFromHtml(doc) {
    const payload64 = [...doc.scripts].map(s => s.textContent.match(/jvc\.\w+Payload\s*=\s*["']([^"']+)["']/)).find(Boolean)?.[1];
    if (!payload64) return null;
    const bytes = Uint8Array.from(atob(payload64), c => c.charCodeAt(0));
    const decompressedStream = new Blob([bytes]).stream().pipeThrough(new DecompressionStream('gzip'));
    return await new Response(decompressedStream).json(); // GZIP + BASE 64
}


async function getPayloadFromRaw(rawData) {
    const payload64 = rawData.match(/jvc\.\w+Payload\s*=\s*["']([^"']+)["']/)?.[1];
    if (!payload64) return null;
    const bytes = Uint8Array.from(atob(payload64), c => c.charCodeAt(0));
    const decompressedStream = new Blob([bytes]).stream().pipeThrough(new DecompressionStream('gzip'));
    return await new Response(decompressedStream).json(); // GZIP + BASE 64
}


// SYNCH https://cdn.jsdelivr.net/npm/[email protected]/umd/index.js
// GET PARSE Payload From HTML (sync, requiert fflate via @require)

/*
function getPayloadFromHtmlSynch(doc) {
    const payload64 = [...doc.scripts].map(s => s.textContent.match(/jvc\.\w+Payload\s*=\s*["']([^"']+)["']/)).find(Boolean)?.[1];
    if (!payload64) return null;
    const bytes = Uint8Array.from(atob(payload64), c => c.charCodeAt(0));
    const decompressed = fflate.gunzipSync(bytes); // UnGZIP Synch
    const json = fflate.strFromU8(decompressed);
    return JSON.parse(json);  // GZIP + BASE 64
}
*/