<!DOCTYPE html>
<html lang="id">

<head>
    <meta charset="utf-8">
    <meta name="renderer" content="webkit" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="applicable-device" content="pc,mobile" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>Jalalive_liga inggris,premier league_klasemen liga inggris,pertandingan liga inggris</title>
    <meta name="keywords" content="Jalalive,liga inggris,premier league_klasemen liga inggris,pertandingan liga inggris" />
    <link rel="shortcut icon" href="" type="image/x-icon">
    <meta name="description" content="Jalalive menyediakan layanan streaming langsung Liga Primer Inggris, streaming gratis online Liga Inggris dengan kualitas HD, dan menonton pertandingan Liga Inggris tanpa plugin, memungkinkan Anda menikmati serunya pertandingan Liga Primer Inggris kapan saja dan di mana saja. Tanpa perlu menginstal plugin, kualitas HD membuat Anda seolah-olah berada di stadion, selalu mengikuti aksi seru dari Liga Primer Inggris." /><link href="/t22_id/resource/css/style.css" rel="stylesheet">
    <link href="/t22_id/resource/css/zhibo.css" rel="stylesheet">
    <script src="/t22_id/resource/js/jquery-2.2.4.min.js" type="text/javascript"></script>
    <script src="/t22_id/resource/js/themeol-sidebar.min.js" type="text/javascript"></script>
    <script src="/t22_id/resource/js/themeol.js" type="text/javascript"></script>
</head>

<body>
    <!-- adSwitch Start-->
<script type="text/javascript" src="/common/jquery.min.js"></script>
<link href="/common/adSwitch.css" rel="stylesheet" media="screen" type="text/css">
<div class="container swiper" id="adSwitch">
<div class="swiper-wrapper">

</div>
<div class="swiper-pagination"></div>
</div>
<script type="text/javascript" src="/common/adSwitch.js"></script>
<!-- adSwitch End-->

<header>
        <div class="logo-section box">
            <div class="logo"> <a href="/">Jalalive</a> </div>
        </div>
        <div class="clear"></div>
        <div class="topnav">
            <h2><a href="/">Jalalive</a></h2>
            <nav id="monavber" data-type="index" data-infoid>
                <ul id="starlist" class="navbar">
                    <li id="nvabar-item-index"><a href="/">Beranda</a></li><li id="nvabar-item-index"><a href="/live/sepak/" title="Sepak bola" target="_self">Sepak bola</a></li><li id="nvabar-item-index"><a href="/live/basket/" title="Bola basket" target="_self">Bola basket</a></li><li id="nvabar-item-index"><a href="/result/" title="Hasil pertandingan" target="_self">Hasil pertandingan</a></li><li id="nvabar-item-index"><a href="/zt/" title="Pemilihan Topik" target="_self">Pemilihan Topik</a></li><li id="nvabar-item-index"><a href="/news/" title="Berita Terkini" target="_self">Berita Terkini</a></li><li id="nvabar-item-index"><a href="/channel/" title="Saluran TV" target="_self">Saluran TV</a></li><li id="nvabar-item-index"><a href="/data/" title="Pangkalan data" target="_self">Pangkalan data</a></li><li id="nvabar-item-index"><a href="/video/" title="Rekaman pertandingan" target="_self">Rekaman pertandingan</a></li></ul>
            </nav>
            <h2 id="mnavh"> <span class="navicon"></span> </h2>
        </div>
        <div class="is-search">
        </div>
        <div class="search-page">
            <div class="go-left"></div>
            <div class="search">
            </div>
            <div class="clear"></div>
            <div class="hot-search">
                <p>Pertandingan Populer</p>
                <ul class="search-paihang"><li><a href="/live/fifaworldcupqualificationuefa/" target="_blank">Kualifikasi Piala Dunia （ UEFA )</a></li><li><a href="/live/engpremierleague/" target="_blank">Liga Utama Inggris</a></li><li><a href="/live/itaseriea/" target="_blank">Serie A</a></li><li><a href="/live/spalaliga/" target="_blank">La Liga</a></li><li><a href="/live/gerbundesliga/" target="_blank">Fußball-Bundesliga</a></li><li><a href="/live/fraligue1/" target="_blank">Ligue 1</a></li><li><a href="/live/csl/" target="_blank">Liga Super Tiongkok</a></li><li><a href="/live/jpnj1/" target="_blank">Liga J1 Jepang</a></li><li><a href="/live/jpnj2/" target="_blank">J2 League Jepang</a></li><li><a href="/live/kork1/" target="_blank">K League 1</a></li><li><a href="/live/kork2/" target="_blank">K League 2</a></li><li><a href="/live/ausaleague/" target="_blank">A-League Australia</a></li><li><a href="/live/idnliga1/" target="_blank">Indonesian Liga 1</a></li><li><a href="/live/nba/" target="_blank">Asosiasi Basket Nasional</a></li><li><a href="/live/cba/" target="_blank">Asosiasi Bola Basket Tiongkok</a></li></ul>
            </div>
        </div>
    </header>
    <div class="clear blank"></div>


    <article>
        <div class="blogs left-box">
            
            <div class="widget cloud whitebg">
                    <h2 class="side-title">Populer</h2><a href="/live/fifaworldcupqualificationuefa/">Kualifikasi Piala Dunia （ UEFA )</a><a href="/live/engpremierleague/">Liga Utama Inggris</a><a href="/live/itaseriea/">Serie A</a><a href="/live/spalaliga/">La Liga</a><a href="/live/gerbundesliga/">Fußball-Bundesliga</a><a href="/live/fraligue1/">Ligue 1</a><a href="/live/csl/">Liga Super Tiongkok</a><a href="/live/jpnj1/">Liga J1 Jepang</a><a href="/live/jpnj2/">J2 League Jepang</a><a href="/live/kork1/">K League 1</a><a href="/live/kork2/">K League 2</a><a href="/live/ausaleague/">A-League Australia</a><a href="/live/idnliga1/">Indonesian Liga 1</a><a href="/live/nba/">Asosiasi Basket Nasional</a><a href="/live/cba/">Asosiasi Bola Basket Tiongkok</a></div>
            <div class="blank clear"></div>
            
            
            <div class="panel liveview panel-open">
                <div class="panel-title">
                    <h2>Siaran Langsung Pertandingan</h2>
                </div>
<ul id="match_wrapper" class="panel-body">

</ul>
<p class="zb-area_btn load_more" style="width: 100%; 
        border-radius: 5px;
        text-align: center;
        padding: .4rem;
        cursor: pointer;
        border: solid 1px #f6f6f6;
        color: #000;
        background: #fff;box-sizing: border-box;margin-top: 10px;display: none;">tampilkan lebih banyak pertandigan</p>
<script>

document.addEventListener('DOMContentLoaded', function() {
  // 仅需 DOM 结构加载完成时执行（无需等待图片等资源）
  console.log('DOM 加载完成');
  
  // 示例操作：快速初始化交互功能
  setupDropdownMenu();
});
    const setupDropdownMenu = ()=> {
        let controller = new AbortController();
        let loading = false;

        const tabs = document.getElementById("match_filter");
        const wrapper = document.getElementById("match_wrapper");
        const data = [];

        /**缓存 */
        const cache = new Map();

        /**
         * 更新方法
         * @param { AbortController } controller 控制器
         * @param { Record<string,unknown>[] } data 数据
         * @param { number } end 长度
         */
        const update = async (controller, data, end) => {
            console.log(controller, data, end, 'controller, data, end')
            loading = true;
            console.time("update");
            await new Promise((resolve) => window.requestAnimationFrame(resolve));

            const render = async (data) => {
                for (let i = 0; i < data.length; i++) {
                    const $item = data[i];
                    const $key = `${$item.sportId}_${$item.id}`;
                    const $item_el = (() => {
                        if (cache.has($key)) {
                            return cache.get($key);
                        } else {
                            /**@type {HTMLLIElement} */
                            const $item_el = new DOMParser().parseFromString(`
                                <li class>
                                    <div>
                                        <time>${String($item.matchTs.getMonth() + 1).padStart(2, "0")}/${String($item.matchTs.getDate()).padStart(2, "0")} ${String($item.matchTs.getHours()).padStart(2, "0")}:${String($item.matchTs.getMinutes()).padStart(2, "0")}</time>
                                        <a href="/${ $item.compUrl }" target="_blank" title="${ $item.comp }">${ $item.comp }</a>${ $item.home } VS ${ $item.away } &emsp; <a href="/${ $item.router }">
                                            <font color="#52D017">${ $item.buttonName }</font>
                                        </a></a> </div>
                                </li>
                            `, "text/html").body.children.item(0);
                            cache.set($key, $item_el);
                            return $item_el;
                        }
                    })();
if (controller.signal.aborted) break;
                    // 1. 修复 pageYOffset 兼容性（核心）
Object.defineProperty(window, "pageYOffset", { 
  get: () => document.documentElement.scrollTop || document.body.scrollTop 
});
                    if (controller.signal.aborted) break;
                    if ($item.isTop === 1) {
                        $item_el.classList.add("is_top");
                        for (const $el of wrapper.children) {
                            if ($el.classList.contains("is_top")) continue;
                            wrapper.insertBefore($item_el, $el);
                            break;
                        }
                    } else wrapper.appendChild($item_el);

                    await new Promise((resolve) => window.setTimeout(resolve, 0, void 0));
                    if (controller.signal.aborted) break;
                }
                return data.length
            }

            let start = 0;
            console.log(wrapper, 'wrapper')
            start += await render(data.slice(0, end)).then((length) => (wrapper.nextElementSibling.style.setProperty("display", (data.length > (start + length) ? "block" : "none")), length));

            controller.signal.addEventListener("abort", () => wrapper.nextElementSibling.style.setProperty("display", "none"), { once: true });
            wrapper.nextElementSibling.addEventListener("click", async ($event) => {
                $event.preventDefault();
                start += await render(data.slice(start, start + 200)).then((length) => (wrapper.nextElementSibling.style.setProperty("display", (data.length > (start + length) ? "block" : "none")), length));
            }, { signal: controller.signal });
            
        
            console.timeEnd("update");
            loading = false;
        }
        /**首次更新 => update() */
        const hot_id = [/*  */"competition_id=2&sport_id=1",/*  */"competition_id=82&sport_id=1",/*  */"competition_id=108&sport_id=1",/*  */"competition_id=120&sport_id=1",/*  */"competition_id=129&sport_id=1",/*  */"competition_id=142&sport_id=1",/*  */"competition_id=542&sport_id=1",/*  */"competition_id=567&sport_id=1",/*  */"competition_id=568&sport_id=1",/*  */"competition_id=581&sport_id=1",/*  */"competition_id=582&sport_id=1",/*  */"competition_id=590&sport_id=1",/*  */"competition_id=1788&sport_id=1",/*  */"competition_id=1&sport_id=2",/*  */"competition_id=3&sport_id=2",/*  */];
        const api_src = new URL("/getMatchListJsonp", location.origin);
        api_src.searchParams.set("days", "1");
        fetch(api_src).then((response) => response.json()).then(({ matchLiveList }) => {
            const list = [];
            for (let i = 0; i < matchLiveList.length; i++) list.push({ ...matchLiveList[i], matchTs: new Date(matchLiveList[i].matchTs * 1000) });
            list.sort((a, b) => a.matchTs.getTime() - b.matchTs.getTime());
            const contest_all = [];
            const contest_football = [];
            const contest_basketball = [];
            const contest_hot = [];
            for (let i = 0; i < list.length; i++) {
                if (list[i].sportId === 1) contest_football.push(list[i]);
                if (list[i].sportId === 2) contest_basketball.push(list[i]);
                if (hot_id.includes(`competition_id=${encodeURIComponent(list[i].competitionId)}&sport_id=${encodeURIComponent(list[i].sportId)}`)) contest_hot.push(list[i]);
            }

            data.unshift({ type: "3", list: contest_hot });
            data.unshift({ type: "2", list: contest_basketball });
            data.unshift({ type: "1", list: contest_football });
            data.unshift({ type: "0", list });

            ((item) => {
                for (let i = wrapper.children.length - 1; i >= 0; i--) wrapper.removeChild(wrapper.children[i]);
                const type = item instanceof HTMLElement ? item.getAttribute("data-type") : "0";
                for (let i = 0; i < data.length; i++) {
                    if (data[i]?.type === type) {
                        const list = data[i].list;
                        let end = 0;
                        if (list.length) {
                            const max = Math.min(...list.map((v) => v.matchTs.getTime())) + (3.6e+6 * 4);
                            while (list[end] && list[end].matchTs.getTime() <= max) end++;
                        }
                        update(controller, list, end);
                        break;
                    }
                }
            })(tabs?.querySelector(".match_filter_item.active"));
        });
    };
</script></div>
            <div class="blogs-box whitebg">
                <div class="news-title">
                    <h2>Konten Terbaru</h2>
                </div>
                <div class="blogs-list">
                    <ul></ul>
                </div>
            </div>
            <div class="blank clear"></div>
        </div>
        <aside class="side-section right-box">

            <div class="widget whitebg suiji">
                <h2 class="side-title">Rekaman Terkait</h2>
                <ul><li><a href="/f4384342.html" target="_blank">2025-11-18 Piala Belarusia SmorgonFC VS FCTorpedoZhodino Rekaman Putar Balik</a></li><li><a href="/f4337912.html" target="_blank">2025-10-02 MLS Berikutnya PL Cadangan San Jose Earthquakes VS VancouverWhitecapsReserve Rekaman Putar Balik</a></li><li><a href="/f4359987.html" target="_blank">2025-09-26 Liga MX Femenil Meksiko MazatlanFCWomen VS Mariusz Rybicki Rekaman Putar Balik</a></li><li><a href="/f4315039.html" target="_blank">2025-09-22 Liga Wanita K1 MungyeongSangmuWFC VS SejongSportstotoWFC Rekaman Putar Balik</a></li><li><a href="/f4369469.html" target="_blank">2025-09-11 Kategori Utama A Millonarios VS DeportivoPasto Rekaman Putar Balik</a></li><li><a href="/f4386312.html" target="_blank">2025-09-08 Piala Chili Olahraga Limache VS DeportesLaSerena Rekaman Putar Balik</a></li><li><a href="/f4413456.html" target="_blank">2025-09-08 Liga Bolivia Copa Karlo Bartolec VS Javi Flores Rekaman Putar Balik</a></li><li><a href="/f4254502.html" target="_blank">2025-09-07 MLS Amerika Serikat HoustonDynamo VS LosAngelesGalaxy Rekaman Putar Balik</a></li><li><a href="/f4367257.html" target="_blank">2025-09-03 Divisi Primera Kosta Rika ADSanCarlos VS MunicipalPrezZeledn Rekaman Putar Balik</a></li><li><a href="/f4412586.html" target="_blank">2025-09-02 Piala Denmark Jozef Pukaj VS Hillerod Fodbold Rekaman Putar Balik</a></li><li><a href="/f4412590.html" target="_blank">2025-09-02 Piala Denmark Ledoje-SmorumFodbold VS Lyngby Rekaman Putar Balik</a></li><li><a href="/f4412591.html" target="_blank">2025-09-02 Piala Denmark MarstalRise VS Aalborg Rekaman Putar Balik</a></li><li><a href="/f4413501.html" target="_blank">2025-09-02 Piala Negara CAFA 2023 Oman VS Kyrgyzstan Rekaman Putar Balik</a></li><li><a href="/f4415537.html" target="_blank">2025-09-02 Liga Wanita Negara Bagian Queensland Australia Mohamed Hamdaoui VS EasternSuburbsSCWomen Rekaman Putar Balik</a></li><li><a href="/f4393397.html" target="_blank">2025-09-02 Liga Portugal U23 MaritimoU23 VS Gil Vicente U23 Rekaman Putar Balik</a></li><li><a href="/f4360015.html" target="_blank">2025-09-02 Liga MX Femenil Meksiko SantosLagunaWomen VS Mariusz Rybicki Rekaman Putar Balik</a></li><li><a href="/f4360014.html" target="_blank">2025-09-02 Liga MX Femenil Meksiko AtlasWomen VS MazatlanFCWomen Rekaman Putar Balik</a></li><li><a href="/f4302702.html" target="_blank">2025-09-02 Serie B Brasil FerroviariaSP VS Cuiaba Rekaman Putar Balik</a></li><li><a href="/f4274920.html" target="_blank">2025-09-02 Serie A Ekuador Delfin SC VS Libertad FC Rekaman Putar Balik</a></li><li><a href="/f4255987.html" target="_blank">2025-09-02 Divisi Utama Argentina GimnasiaLaPlata VS Atletico Tucuman Rekaman Putar Balik</a></li><li><a href="/f4361574.html" target="_blank">2025-09-02 Segunda Division Spanyol CDLeganes VS DeportivoLaCoruna Rekaman Putar Balik</a></li><li><a href="/f4294399.html" target="_blank">2025-09-02 Liga Sepak Bola Kanada Armando Ortiz VS YorkUnitedFC Rekaman Putar Balik</a></li><li><a href="/f4361572.html" target="_blank">2025-09-02 Segunda Division Spanyol Schmelzer, Marcel VS Eibar Rekaman Putar Balik</a></li><li><a href="/f4346480.html" target="_blank">2025-09-02 Divisi 1 Denmark Esbjerg VS HerfolgeBoldklubKoge Rekaman Putar Balik</a></li><li><a href="/f4352197.html" target="_blank">2025-09-02 Liga Leumit Israel HapoelAfula VS HapoelRishonLezion Rekaman Putar Balik</a></li><li><a href="/f4352188.html" target="_blank">2025-09-02 Liga Leumit Israel Adrian VS HapoelRamatGan Rekaman Putar Balik</a></li><li><a href="/f4352194.html" target="_blank">2025-09-02 Liga Leumit Israel Aleksandar Pešić VS KiryatYamSC Rekaman Putar Balik</a></li><li><a href="/f4413508.html" target="_blank">2025-09-01 Piala Negara CAFA 2023 Tajikistan VS Dejan Sorgic Rekaman Putar Balik</a></li><li><a href="/f4413507.html" target="_blank">2025-09-01 Piala Negara CAFA 2023 India VS Iran Rekaman Putar Balik</a></li><li><a href="/f4315053.html" target="_blank">2025-09-01 Liga Wanita K1 SejongSportstotoWFC VS Dawid Kubowicz Rekaman Putar Balik</a></li></div>
            <div class="blank clear"></div>
            <div class="widget cloud whitebg">
                <h2 class="side-title">Pertandingan Populer</h2><a href="/live/fifaworldcupqualificationuefa/">Kualifikasi Piala Dunia （ UEFA )</a><a href="/live/engpremierleague/">Liga Utama Inggris</a><a href="/live/itaseriea/">Serie A</a><a href="/live/spalaliga/">La Liga</a><a href="/live/gerbundesliga/">Fußball-Bundesliga</a><a href="/live/fraligue1/">Ligue 1</a><a href="/live/csl/">Liga Super Tiongkok</a><a href="/live/jpnj1/">Liga J1 Jepang</a><a href="/live/jpnj2/">J2 League Jepang</a><a href="/live/kork1/">K League 1</a><a href="/live/kork2/">K League 2</a><a href="/live/ausaleague/">A-League Australia</a><a href="/live/idnliga1/">Indonesian Liga 1</a><a href="/live/nba/">Asosiasi Basket Nasional</a><a href="/live/cba/">Asosiasi Bola Basket Tiongkok</a></ul>
            </div>
        </aside>
    </article>
    <a href="#" title="top" aria-label="isTop" class="icon-top"></a>
<footer>
    <div class="footer box">
        <div class="endnav">
            <p>Semua sinyal siaran langsung pertandingan di situs ini dikumpulkan oleh pengguna atau diperoleh dari hasil pencarian mesin telusur. Semua konten berasal dari internet dan kami tidak menyediakan sinyal siaran langsung atau konten video apa pun. Jika ada pelanggaran hak Anda, silakan hubungi kami dan kami akan segera menanganinya.<a class="footer-desc"  href="/sitemap.xml" target="_blank">Peta Situs</a></p>
            <p>Copyright © 1999 - 2024 All Rights Reserved Jalalive</p>
        </div>
        <div style="width: 100%; display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 10px;">
            
            <p><a style="color: #fff;" target="_blank" rel="" href="https://indobet88.art/" title="indobet88">indobet88</a></p>
            
          </div>
    </div>

</footer>

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-QBFRPFJRKZ"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'G-QBFRPFJRKZ');
</script>





<script>

function generateRandomString(length) {
    const characters = 'abcdefghijklmnopqrstuvwxyz0123456789';
    let result = '';
    for (let i = 0; i < length; i++) {
        result += characters.charAt(Math.floor(Math.random() * characters.length));
    }
    return result;
}


document.querySelectorAll('div').forEach(div => {
    const randomString = generateRandomString(3); 
    div.classList.add(randomString);
});
</script>
</body>
</html>