User:SaoMikoto/common.js: Difference between revisions

From Test Wiki
Content deleted Content added
No edit summary
Tag: Reverted
m // Edit via InPageEdit
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
function loadMyGadget(gadget) {
/** InPageEdit Preferences */
mw.loader.load(`https://testwiki.wiki/index.php?title=User:SaoMikoto/js/${gadget}.js&action=raw&ctype=text/javascript`);
}

// loadMyGadget("InPageEdit");
loadMyGadget("Usergroup");
loadMyGadget("CleanDeleteReasons");

// InPageEdit Preferences
(window.InPageEdit = window.InPageEdit || {}).myPreference = {
(window.InPageEdit = window.InPageEdit || {}).myPreference = {
"doNotCollectMyInfo": false,
"doNotCollectMyInfo": false,
"editMinor": false,
"editMinor": true,
"editSummary": "$section // Edit via InPageEdit",
"editSummary": "$section$oldid // Edit via InPageEdit",
"lockToolBox": true,
"lockToolBox": true,
"redLinkQuickEdit": false,
"redLinkQuickEdit": false,
Line 19: Line 27:
]
]
}
}
mw.loader.load('https://cdn.jsdelivr.net/npm/mediawiki-inpageedit');
importScript('User:SaoMikoto/js/Usergroup.js'); // Backlink: [[User:SaoMikoto/js/Usergroup.js]]
importScript('User:SaoMikoto/js/CleanDeleteReasons.js'); // Backlink: [[User:SaoMikoto/js/CleanDeleteReasons.js]]


(function() {
// 创建飘落元素
function createFallingElement() {
var symbols = ['🍀', '☘️', '🌸', '🌿'];
var element = document.createElement('div');
element.className = 'falling-elements';
element.textContent = symbols[Math.floor(Math.random() * symbols.length)];
element.style.left = Math.random() * 100 + 'vw';
element.style.animationDuration = (3 + Math.random() * 3) + 's';
element.style.animationDelay = Math.random() * 2 + 's';
element.style.position = 'fixed';
element.style.top = '-50px';
element.style.pointerEvents = 'none';
element.style.zIndex = '9999';
element.style.fontSize = '20px';
element.style.animation = 'fall linear infinite';
document.body.appendChild(element);
// 动画结束后移除元素
setTimeout(function() {
if (element.parentNode) {
element.parentNode.removeChild(element);
}
}, 8000);
}

// 添加CSS动画
function addFallingCSS() {
if (document.getElementById('falling-style')) return;
var style = document.createElement('style');
style.id = 'falling-style';
style.textContent =
'@keyframes fall {' +
'0% { transform: translateY(-50px) rotate(0deg); opacity: 1; }' +
'100% { transform: translateY(100vh) rotate(360deg); opacity: 0; }' +
'}';
document.head.appendChild(style);
}

// 初始化函数
function initFallingElements() {
addFallingCSS();
// 每隔800ms创建新元素
setInterval(createFallingElement, 800);
}


// InPageEdit NEXT
// 页面加载完成后启动
if (document.readyState === 'loading') {
document.body.append(
Object.assign(document.createElement('script'), {
document.addEventListener('DOMContentLoaded', initFallingElements);
src: 'https://unpkg.com/@inpageedit/core',
} else {
type: 'module',
initFallingElements();
}
})
)
})();