您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
[已弃用] CKAutoLoader用于在哔哩哔哩播放器页面延后加载脚本,参考了Pakku弹幕插件的加载方式。
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.greasyfork.icu/scripts/405344/816331/CKAutoLoader.js
// ==UserScript== // @name CKAutoLoader // @namespace blbljsloader.ckylin.site // @version 0.1 // @author CKylinMC // @grant unsafeWindow // @license GPLv3 License // ==/UserScript== if(!window.CKAutoLoader){ window.CKAutoLoader = { loaded: false, loader_Started: false, cblist:{}, retry_count: 50, reg: function(name,callback){ if(window.CKAutoLoader.loaded){ if(callback instanceof Function){ callback(); } return; } if(!window.CKAutoLoader.loader_Started){ window.CKAutoLoader.loader(); } window.CKAutoLoader.cblist[name] = callback; }, canInject: function(){ //参考pakku的检测加载机制 var blplayer = document.querySelector("div.bilibili-player"); if (blplayer && !blplayer.querySelector(".bilibili-player-auxiliary-area")) { blplayer = blplayer.closest("body"); } if (blplayer) { var list_elem = blplayer.querySelector(".bilibili-player-danmaku, .player-auxiliary-danmaku-wrap") } if (!blplayer || !list_elem) { return false; } return true; }, loader: function(){ window.CKAutoLoader.loader_Started = true; console.log("CKAutoLoader: try inject..."); if(!window.CKAutoLoader.canInject()){ if(window.CKAutoLoader.retry_count==undefined || --window.CKAutoLoader.retry_count<=0){ console.error("CKAutoLoader: Can NOT inject scripts."); return; } setTimeout(function(){window.CKAutoLoader.loader()},200); return; } window.CKAutoLoader.loaded = true; for(func in window.CKAutoLoader.cblist){ if(window.CKAutoLoader.cblist[func] instanceof Function){ try{ window.CKAutoLoader.cblist[func](); }catch(e){ console.error("CKAutoLoader: Errored while call: "+func+e); } }else{ console.error("CKAutoLoader: Can NOT call: "+func); } } }, }; }