1 2(function(){ 3 // modal 4 const overlay=document.querySelector('.modalOverlay'); 5 function openModal(id){ 6 const m=document.getElementById(id); 7 if(!m) return; 8 overlay && overlay.classList.add('open'); 9 m.classList.add('open'); 10 m.style.display='flex'; 11 } 12 function closeAll(){ 13 document.querySelectorAll('.modal').forEach(m=>{m.classList.remove('open'); m.style.display='none';}); 14 overlay && overlay.classList.remove('open'); 15 } 16 document.querySelectorAll('[data-modal]').forEach(el=>{ 17 el.addEventListener('click',()=>openModal(el.getAttribute('data-modal'))); 18 }); 19 document.querySelectorAll('[data-close]').forEach(el=>el.addEventListener('click',closeAll)); 20 overlay && overlay.addEventListener('click',closeAll); 21 22 // categories + search (list pages) 23 function setCat(cat){ 24 document.querySelectorAll('.cats button').forEach(b=>b.classList.toggle('active', b.dataset.cat===cat)); 25 document.querySelectorAll('[data-item]').forEach(it=>{ 26 const c=it.dataset.cat||'best'; 27 it.style.display = (cat===c) ? '' : 'none'; 28 }); 29 } 30 window.rlpCat=setCat; 31 32 const search=document.getElementById('rlp-search'); 33 window.rlpSearch=function(val){ 34 const q=(val||'').toLowerCase().trim(); 35 document.querySelectorAll('[data-item]').forEach(it=>{ 36 const t=(it.dataset.title||'').toLowerCase(); 37 it.style.display = t.includes(q) ? '' : 'none'; 38 }); 39 } 40 if(search){ search.addEventListener('input', e=>window.rlpSearch(e.target.value)); } 41 42 // default cat best 43 const btn=document.querySelector('.cats button[data-cat="best"]'); 44 if(btn) setCat('best'); 45})(); 46 47(function () { 48 function initDownloadTargets() { 49 // 1) .claim éç button 50 var claimBtn = document.querySelector('.claim button'); 51 if (claimBtn) { 52 claimBtn.setAttribute('data-download', 'down-now'); 53 54 // 让å onclick 失æ 55 claimBtn.removeAttribute('onclick'); 56 claimBtn.onclick = null; 57 } 58 59 // 2) åºé¨ sticky ç a 60 var stickyBtn = document.querySelector('.sticky-btn'); 61 if (stickyBtn) { 62 stickyBtn.setAttribute('data-download', 'down-now'); 63 64 // 让å href / target 失æï¼ä½ä¿çç¹å»æ¬èº« 65 stickyBtn.removeAttribute('href'); 66 stickyBtn.removeAttribute('target'); 67 stickyBtn.removeAttribute('rel'); 68 69 // 鲿¢æåç onclick 70 stickyBtn.removeAttribute('onclick'); 71 stickyBtn.onclick = null; 72 } 73 } 74 75 if (document.readyState === 'loading') { 76 document.addEventListener('DOMContentLoaded', initDownloadTargets); 77 } else { 78 initDownloadTargets(); 79 } 80})(); 81 82(function () { 83 function markDownloadImages() { 84 document.querySelectorAll('img[src*="all-rummy-bonus-banner"]').forEach(function (img) { 85 img.setAttribute('data-download', 'down-now'); 86 }); 87 } 88 89 if (document.readyState === 'loading') { 90 document.addEventListener('DOMContentLoaded', markDownloadImages); 91 } else { 92 markDownloadImages(); 93 } 94 95 var observer = new MutationObserver(function () { 96 markDownloadImages(); 97 }); 98 99 observer.observe(document.body, { 100 childList: true, 101 subtree: true 102 }); 103 104 setTimeout(markDownloadImages, 500); 105 setTimeout(markDownloadImages, 1500); 106 setTimeout(markDownloadImages, 3000); 107})(); 108 109 110document.addEventListener('DOMContentLoaded', function () { 111 const slider = 112 document.querySelector('.home-hero-slider') || 113 document.querySelector('.heroWrap.slider'); 114 115 if (!slider) return; 116 117 const imgs = slider.querySelectorAll('img'); 118 if (!imgs.length) return; 119 120 let index = 0; 121 122 imgs.forEach(function (img, i) { 123 img.classList.toggle('active', i === 0); 124 }); 125 126 setInterval(function () { 127 const oldIndex = index; 128 const newIndex = (index + 1) % imgs.length; 129 130 // éç¹ï¼å 让æ°å¾åºç° 131 imgs[newIndex].classList.add('active'); 132 133 // çæ°å¾æ·¡å ¥åï¼åéèæ§å¾ 134 setTimeout(function () { 135 imgs[oldIndex].classList.remove('active'); 136 }, 450); 137 138 index = newIndex; 139 }, 3000); 140}); 141 142 143// // ads-insert.js 144// document.addEventListener("DOMContentLoaded", function () { 145 146// // å½åé¡µé¢ slugï¼å»æé¦å°¾ /ï¼ 147// const currentSlug = window.location.pathname.replace(/^\/|\/$/g, ''); 148 149// // 页é¢å¹¿åé ç½® 150// const adConfig = { 151// "rummy-wealth": [ 152// { afterRank: 2, image: "static/image/best-rummy-app.webp", link: "" } 153// ] 154// // å ¶ä»é¡µé¢å¯ç»§ç»æ·»å 155// // "rummy-noble": [ 156// // { afterRank: 3, image: "https://ä½ çåå.com/noble-ad.webp", link: "https://xxx.com" } 157// // ] 158// }; 159 160// // 妿å½å页颿²¡æé 置广åï¼ç´æ¥éåº 161// if (!adConfig[currentSlug]) return; 162 163// // è·åææ row 164// const rows = document.querySelectorAll('.list .row'); 165 166// // æå ¥å¹¿å 167// adConfig[currentSlug].forEach(ad => { 168// rows.forEach(row => { 169// const rankEl = row.querySelector('.rank'); 170// if (!rankEl) return; 171// const rank = parseInt(rankEl.textContent.trim()); 172// if (rank === ad.afterRank) { 173// const adBox = document.createElement('div'); 174// adBox.className = 'custom-inline-ad'; 175// adBox.innerHTML = `
176// <a href="${ad.link}" target="_blank" rel="nofollow noopener noreferrer"> 177// <img src="${ad.image}" alt="Advertisement"> 178// </a> 179// `; 180// // æå ¥å° hr åé¢ 181// const hr = row.nextElementSibling; 182// if (hr && hr.classList.contains('hr')) { 183// hr.insertAdjacentElement('afterend', adBox); 184// } 185// } 186// }); 187// }); 188 189// }); 190 191 192//document.addEventListener("DOMContentLoaded", function () { 193 194 /* å½åé¡µé¢ slugï¼ä¾å¦ /rummy-wealth/ => rummy-wealth */ 195// const currentSlug = window.location.pathname.replace(/^\/|\/$/g, ""); 196 197// /* é ç½®ï¼æå®é¡µé¢ + æå®æå ¥ä½ç½® */ 198// const insertConfig = { 199// "rummy-wealth": [ 200// { 201// afterRank: 2, // æå ¥å°ç¬¬2个ä¸é¢ 202 203// rank: 99, 204// name: "Jaiho 91", 205// icon: "static/image/Jaiho-91.webp", 206// url: "https://www.rummyskill.com/gourl/?p=jiaho91", 207// installs: "320K+", 208// bonus: "Rs.51", 209// min: "â¹50" 210// } 211// ] 212 213 /* 214 å颿¢é¡µé¢è¿æ ·å ï¼ 215 216 "rummy-noble": [ 217 { 218 afterRank: 3, 219 rank: 88, 220 name: "Dash Rummy", 221 icon: "static/image/Dash-Rummy-150x150.webp", 222 url: "/dash-rummy/", 223 installs: "410K+", 224 bonus: "Rs.75", 225 min: "â¹100" 226 } 227 ] 228 */ 229 // }; 230 231// if (!insertConfig[currentSlug]) return; 232 233// const rows = document.querySelectorAll(".list .row"); 234 235// insertConfig[currentSlug].forEach(function (item) { 236 237// rows.forEach(function (row) { 238 239// const rankEl = row.querySelector(".rank"); 240// if (!rankEl) return; 241 242// const rankNum = parseInt(rankEl.textContent.trim(), 10); 243// if (rankNum !== item.afterRank) return; 244 245// /* 鲿¢éå¤æå ¥ */ 246// const insertId = "insert-row-" + currentSlug + "-" + item.afterRank + "-" + item.name.toLowerCase().replace(/\s+/g, "-"); 247// if (document.getElementById(insertId)) return; 248 249// const newHr = document.createElement("div"); 250// newHr.className = "hr"; 251 252// const newRow = document.createElement("div"); 253// newRow.className = "row inserted-app-row"; 254// newRow.id = insertId; 255 256// newRow.innerHTML = ` 257// <div class="rank">*</div> 258 259// <img 260// class="icon" 261// src="${item.icon}" 262// alt="${item.name}" 263// loading="lazy" 264// > 265 266// <div class="meta"> 267// <h3 class="name">${item.name}</h3> 268 269// <h4 class="sub"> 270// ⬠${item.installs} | Bonus ${item.bonus} 271// </h4> 272 273// <h5 class="min"> 274// Min. Withdrawal ${item.min} 275// </h5> 276// </div> 277 278// <a class="dlBtn" href="${item.url}" target="_blank" rel="nofollow noopener noreferrer"> 279// Download 280// </a> 281// `; 282 283// const hr = row.nextElementSibling; 284 285// if (hr && hr.classList.contains("hr")) { 286// hr.insertAdjacentElement("afterend", newRow); 287// newRow.insertAdjacentElement("afterend", newHr); 288// } else { 289// row.insertAdjacentElement("afterend", newRow); 290// newRow.insertAdjacentElement("afterend", newHr); 291// } 292 293// }); 294 295// }); 296 297// }); 298 299 300document.addEventListener("DOMContentLoaded", function () { 301 302 const currentSlug = window.location.pathname.replace(/^\/|\/$/g, ""); 303 304 /* 305 default = å ¨é¨é¡µé¢é½æ¾ç¤ºè¿ä¸ç» 306 妿æä¸ªé¡µé¢æ³åç¬è®¾ç½®ï¼å°±ååå®èªå·±ç slug 307 */ 308 const downloadRowConfig = { 309 "rummy-wealth": [ 310 { 311 apps: [ 312 { 313 icon: "static/image/Rummy-Wealth-2-150x150.webp", 314 url: "/rummy-wealth/" 315 }, 316 { 317 icon: "static/image/yono-rummy-150x150.webp", 318 url: "/yono-rummy/" 319 }, 320 { 321 icon: "static/image/Rummy-Noble-app-150x150.webp", 322 url: "/rummy-noble/" 323 }, 324 { 325 icon: "static/image/rummy-leader-apk-150x150.webp", 326 url: "/rummy-leader/" 327 } 328 ] 329 } 330 ], 331 332 /* 333 æä¸ªé¡µé¢æ³åç¬ä¸åï¼å°±è¿æ ·åï¼ä¼è¦ç defaultï¼ 334 335 "rummy-wealth": [ 336 { 337 apps: [ 338 { 339 icon: "/wp-content/uploads/2025/12/Rummy-Wealth-150x150.webp", 340 url: "/rummy-wealth/" 341 }, 342 { 343 icon: "static/image/yono-rummy-150x150.webp", 344 url: "/yono-rummy/" 345 }, 346 { 347 icon: "static/image/Rummy-Noble-app-150x150.webp", 348 url: "/rummy-noble/" 349 }, 350 { 351 icon: "static/image/rummy-leader-apk-150x150.webp", 352 url: "/rummy-leader/" 353 } 354 ] 355 } 356 ] 357 */ 358 }; 359 360 const rowsToInsert = downloadRowConfig[currentSlug] || downloadRowConfig["default"]; 361 362 if (!rowsToInsert) return; 363 364 const claimEl = document.querySelector(".claim"); 365 if (!claimEl) return; 366 367 if (document.querySelector(".custom-download-row")) return; 368 369 rowsToInsert.forEach(function (row) { 370 371 const rowDiv = document.createElement("div"); 372 rowDiv.className = "custom-download-row"; 373 374 row.apps.forEach(function (app) { 375 376 const item = document.createElement("a"); 377 item.className = "custom-download-item"; 378 item.href = app.url; 379 item.target = "_blank"; 380 item.rel = "nofollow noopener noreferrer"; 381 382 item.innerHTML = ` 383 <img class="custom-download-icon" src="${app.icon}" alt="Download" loading="lazy"> 384 <div class="custom-download-btn">ð Download</div> 385 `; 386 387 rowDiv.appendChild(item); 388 389 }); 390 391 claimEl.insertAdjacentElement("afterend", rowDiv); 392 393 }); 394 395});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.