您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
A JavaScript to run script when docs is ready
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.gf.qytechs.cn/scripts/29782/603417/docsReady.js
// ==UserScript== // @name docsReady // @namespace [email protected] // @description A JavaScript to run script when docs is ready // @author xymopen // @version 1.1.0 // @grant none // @license BSD 2-Clause // ==/UserScript== // @updateURL https://raw.githubusercontent.com/xymopen/JS_Misc/master/docsReady.js "use strict"; function domReady( contextWindow ) { if ( undefined === contextWindow ) { contextWindow = window; } if ( "loading" == contextWindow.document.readyState ) { return new Promise( function ( resolve ) { contextWindow.document.addEventListener( "DOMContentLoaded", function () { resolve( contextWindow ); } ); } ); } else if ( "interactive" == contextWindow.document.readyState ) { return Promise.resolve( contextWindow ); } else if ( "complete" == contextWindow.document.readyState ) { return Promise.reject( "document is already loaded" ); } else { return Promise.reject( "unknow document ready state" ); } } function allReady( contextWindow ) { if ( undefined === contextWindow ) { contextWindow = window; } if ( "complete" == contextWindow.document.readyState ) { return Promise.resolve( contextWindow ); } else { return new Promise( function ( resolve ) { contextWindow.addEventListener( "load", function () { resolve( contextWindow ); } ); } ); } } function frameReady( contextFrame ) { if ( "complete" == contextFrame.contentDocument.readyState ) { return Promise.resolve( contextFrame ); } else { return new Promise( function ( resolve ) { contextFrame.addEventListener( "load", function () { resolve( contextFrame ); } ); } ); } }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址