MDN转中文
var switchBtn = document.querySelector('#languages-switcher-button');
switchBtn && switchBtn.click();
domReady('.languages-switcher-menu .language-menu', start);
async function start() {
var zhBtn = document.querySelector('.languages-switcher-menu .language-menu .submenu-item[data-locale="zh-CN"]');
if (zhBtn) {
Dreamer.success('切换到中文', 1000);
zhBtn.click();
}
};
async function delay(time) {
return new Promise((res) => {
setTimeout(() => {
console.log(`延迟${time}ms`);
res();
}, time);
});
}
swaggerAPI在线文档一键复制
Dreamer.success('开启一键复制', 1000);
document.addEventListener('click', (e) => {
console.log(e);
const target = e.target;
let methodDom = null;
let pathDom = null;
if (target.className.endsWith('-api-summary')) {
methodDom = target.children[0];
pathDom = target.children[1];
} else if (target.className.endsWith('-api-summary-path')) {
methodDom = target.previousElementSibling;
pathDom = target;
};
if (methodDom && pathDom) {
const path = pathDom.innerText.trim();
let pathArr = path.replace(/^\/|(app-api|public|adm)\/+/g, '').split(/\/|-/);
let name1 = pathArr.splice(0, 1);
let nameArr = [name1, ...pathArr.map(d => d.replace(/^\S/, s => s.toUpperCase())), 'Api'];
let method= methodDom.innerText.trim();
const isGet = method === 'GET';
let dataKey = isGet ? '{ params }' : 'data';
let des = document.querySelector("#app > div > section > section > div > div.ant-tabs-content.ant-tabs-content-no-animated.ant-tabs-top-content.ant-tabs-card-content > div.ant-tabs-tabpane.ant-tabs-tabpane-active > main > div > div > div.ant-tabs-content.ant-tabs-content-animated.ant-tabs-left-content > div.ant-tabs-tabpane.ant-tabs-tabpane-active > div.document > div.ant-row > div.ant-row > div.ant-col.ant-col-18 > span").innerText.trim();
let copyValue = `
// ${des}
export const ${nameArr.join('')} = (${isGet ? 'params' : 'data'}) => {
return request.${method.toLowerCase()}('${path}', ${dataKey});
};
`;
GM_setClipboard(copyValue);
Dreamer.success('复制成功', 500);
console.log(method, path, des);
}
});
vantUI复制自定义CSS变量
unsafeWindow = unsafeWindow || window;
const valReg = /--van-.*-/;
unsafeWindow.addEventListener('copy', async () => {
let textValue = await navigator.clipboard.readText();
textValue = textValue.replace(/^--van-/, '');
const keyArr = textValue.split('-');
var nameArr = [keyArr[0], ...keyArr.splice(1).map(d => d.replace(/^\S/, s => s.toUpperCase()))];
textValue = nameArr.join('');
textValue = textValue.replace(/^\s*$[\r\n]*|^[^\S\r\n]+|[^\S\r\n]+$|([^\S\r\n]){2,}|\s+$(?![^])/gm, '');
GM_setClipboard(textValue);
Dreamer.success('复制成功', 500);
});
根据点击的元素,动态生成对应的CSS并生效
(function() {
let highlightNode = loadStyle('');
let themeNode = loadStyle('');
document.body.addEventListener('click', (e) => {
console.log('e.target.className: ', e.target.className);
let node = null;
if (e.target.className === 'bytemd-dropdown-item-title') {
node = e.target.parentNode;
} else if (e.target.className === 'bytemd-dropdown-item') {
node = e.target;
} else {
return;
}
let attrValue = node.getAttribute('bytemd-tippy-path');
switch (attrValue.slice(0, 2)) {
case '18':
setStyle(highlightNode, attrValue);
break;
case '19':
setStyle(themeNode, attrValue);
break;
default:
break;
}
})
function loadStyle() {
let styleNode = document.createElement('style');
styleNode.setAttribute('type', 'text/css');
let head = document.querySelector('head');
head.appendChild(styleNode);
return styleNode;
}
function setStyle(styleNode, attrValue) {
styleNode.innerHTML = `.bytemd-dropdown-item[bytemd-tippy-path='${attrValue}']{
background: #bcc5cd;
}`;
}
})();