通过 node_name 直接定位需要点击的节点
This commit is contained in:
@ -5,20 +5,21 @@
|
||||
// @description Jumpserver Web终端 扩展
|
||||
// @author MiaoWoo
|
||||
// @match https://jump.miaowoo.cc/luna/*
|
||||
// @match https://jump.c5mc.cn/luna/*
|
||||
// @grant none
|
||||
// ==/UserScript==
|
||||
|
||||
(async function () {
|
||||
'use strict'
|
||||
|
||||
const nodeMaps = {
|
||||
'jump.miaowoo.cc': ['公网节点', '内网节点', '下宕头', '画了个圈', 'pve8']
|
||||
}
|
||||
|
||||
async function sleep(ms) {
|
||||
return new Promise(resolve => setTimeout(resolve, ms))
|
||||
}
|
||||
var version = document.querySelector('.footer-version')
|
||||
while (!(version = document.querySelector('.footer-version'))) {
|
||||
await sleep(50)
|
||||
}
|
||||
version.innerHTML = version.innerHTML.replace('Version', '')
|
||||
async function adjust() {
|
||||
window.onresize = async function adjust() {
|
||||
await sleep(10)
|
||||
var splitter_bar = document.querySelector('.ant-splitter-bar')
|
||||
var left = splitter_bar.previousElementSibling
|
||||
@ -26,15 +27,33 @@
|
||||
var right = splitter_bar.nextElementSibling
|
||||
right.style.flexBasis = 'calc(88.5% - 0px)'
|
||||
}
|
||||
window.onresize = adjust
|
||||
adjust()
|
||||
document.querySelector('.content-footer').remove()
|
||||
for (const element of ['#AssetTree_3_span', '#AssetTree_4_span', '#AssetTree_5_span', '#AssetTree_14_span', '#AssetTree_19_span']) {
|
||||
let target = undefined
|
||||
while ((target = document.querySelector(element)) == undefined) {
|
||||
async function autotrigger(nodes = []) {
|
||||
for (const element of nodes) {
|
||||
let target = undefined
|
||||
while ((target = [...document.getElementsByClassName('node_name')].filter(function (e) {
|
||||
return e.innerText.startsWith(element)
|
||||
})[0]) == undefined) {
|
||||
await sleep(50)
|
||||
}
|
||||
await sleep(300)
|
||||
target.click()
|
||||
}
|
||||
}
|
||||
async function waitReady() {
|
||||
var version = document.querySelector('.footer-version')
|
||||
while (!(version = document.querySelector('.footer-version'))) {
|
||||
await sleep(50)
|
||||
}
|
||||
await sleep(300)
|
||||
target.click()
|
||||
version.innerHTML = version.innerHTML.replace('Version', '')
|
||||
}
|
||||
|
||||
async function main() {
|
||||
await waitReady()
|
||||
window.onresize()
|
||||
document.querySelector('.content-footer').remove()
|
||||
var trigger = nodeMaps[location.hostname]
|
||||
if (trigger) autotrigger(trigger)
|
||||
}
|
||||
|
||||
main()
|
||||
})()
|
||||
|
Reference in New Issue
Block a user