哎呀妈呀,来了老铁!免登录看b评论、不登录也能看1080P,无登陆弹窗。支持收藏夹/列表无限连播。
These are versions of this script where the code was updated. Show all versions.
【加强版轮询逻辑】已移除所有超时限制
Key Improvements in v49.0.50
Safer DOM Style Injection // v49.0.50 - Handles document-start timing issues const appendStyle = () => { const target = document.head || document.documentElement; if (target) { target.appendChild(style); } else { requestAnimationFrame(appendStyle); // Retry if DOM not ready } }; v49.0.49 could fail silently if the DOM wasn't ready at document-start.
More Robust XHR Mocking Uses getters instead of direct property assignment (more reliable) Properly implements getAllResponseHeaders() and getResponseHeader() Dispatches all required events: readystatechange, load, AND loadend Calls both event dispatchers and callback functions (onload, onreadystatechange, etc.)
Memory Leak Prevention // v49.0.50 - Stops polling after goal achieved or 5 minutes let qualityAchieved = false; let checkCount = 0; const maxCheckCount = 150; // ... clears interval when done v49.0.49's setInterval runs forever, wasting CPU cycles.
Better Error Handling // v49.0.50 - Graceful fallback for defineProperty try { return originDefineProperty.call(this, obj, prop, descriptor); } catch(e) { console.warn('B站助手: defineProperty failed for', prop); return obj; }
Longer Cookie Validity v49.0.50: max-age=31536000 (1 year) v49.0.49: max-age=864000 (10 days)
Cleanup on Page Unload win.addEventListener('beforeunload', () => { if (intervalId) clearInterval(intervalId); });