您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
ちょっとした機能
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.cn-greasyfork.org/scripts/419955/889436/y_method.js
- // ==UserScript==
- // @name y_method
- // @version 0.1
- // @description ちょっとした機能
- // @author y_kahou
- // ==/UserScript==
- /**
- * 対象までスクロールせずにクリックする
- * @param selector {string} - 取得対象のセレクタ
- */
- function click_(element) {
- var x = window.scrollX, y = window.scrollY
- element.click()
- window.scrollTo(x, y)
- }
- /**
- * 対象までスクロールせずにフォーカスする
- * @param selector {string} - 取得対象のセレクタ
- */
- function focus_(element) {
- var x = window.scrollX, y = window.scrollY
- element.focus()
- window.scrollTo(x, y)
- }
- /**
- * 対象のdomを取得できるまで取得を挑戦する
- * @param selector {string} - 取得対象のセレクタ
- * @param interval {number} - 次の挑戦までの時間ms
- * @param repeat {number} - 繰り返し回数
- */
- function repeatGetElements(selector, interval = 500, repeat = 60) {
- return new Promise(function(resolve, reject) {
- var cnt = 0
- var it = setInterval(function() {
- if (++cnt > 60) {
- clearInterval(it)
- reject("Could'n get " + selector)
- }
- var ret = document.querySelectorAll(selector)
- if (ret.length > 0) {
- clearInterval(it)
- resolve(ret)
- }
- }, interval)
- })
- }
- if (window.jQuery) (function($) {
- /**
- * 対象までスクロールせずにクリックする
- */
- $.fn.click_ = function() {
- click_(this[0])
- return this
- }
- /**
- * 対象までスクロールせずにフォーカスする
- */
- $.fn.focus_ = function() {
- focus_(this[0])
- return this
- }
- })(window.jQuery);