跳转到内容

MediaWiki:Gadget-CopyAsChatAlphabet.js:修订间差异

此后如竟没有炬火,我便是唯一的光。
物灵留言 | 贡献
无编辑摘要
物灵留言 | 贡献
物灵移动页面User:物灵/vector.jsMediaWiki:Gadget-CopyAsChatAlphabet.js,不留重定向
 
(未显示同一用户的10个中间版本)
第1行: 第1行:
var 复制为聊天字母 = false;
var copyOption = false;


function 生成按钮() {
function makeButton() {
     var 按钮 = document.createElement('li');
     var 按钮 = document.createElement('li');
     按钮.classList.add('mw-list-item');
     按钮.classList.add('mw-list-item');
     var 开链接 = document.createElement('a');
     var linkOpen = document.createElement('a');
     var 关链接 = document.createElement('a');
     var linkClose = document.createElement('a');
     开链接.innerText = '复制聊天字母 ✗';
     linkOpen.innerText = '复制聊天字母 ✗';
     开链接.addEventListener("click", () => {
     linkOpen.addEventListener("click", function() {
         复制为聊天字母 = true;
         copyOption = true;
         按钮.removeChild(开链接);
         按钮.removeChild(linkOpen);
         按钮.appendChild(关链接);
         按钮.appendChild(linkClose);
        return false;
     });
     });
     关链接.innerText = '复制聊天字母 ✓';
     linkClose.innerText = '复制聊天字母 ✓';
     关链接.addEventListener("click", () => {
     linkClose.addEventListener("click", function() {
         复制为聊天字母 = false;
         copyOption = false;
         按钮.removeChild(关链接);
         按钮.removeChild(linkClose);
         按钮.appendChild(开链接);
         按钮.appendChild(linkOpen);
        return false;
     });
     });
     按钮.appendChild(关链接);
     按钮.appendChild(linkClose);
     return 按钮;
     return 按钮;
}
}


$(() => {
var letters = '!bpmwjqxynzDsrHN!bpmwjqxynzDsrHN!bpmwjqxynzDsrHNldtgkh45vF7Bcfualdtgkh45vF7Bcfualdtgkh45vF7BcfuaoeEAYL62T83V1i  oeEAYL62T83V1i  oeEAYL62T83V1i  ';
function 聊天字母化(letter) {
    var code = letter.charCodeAt(0) - 0xe020;
    var caseSign = ['^', '', '~'][(code >>> 4) % 3];
    return caseSign + letters[code];
}
 
document.getElementById('mw-content-text').addEventListener('copy', function(e) {
    var data = e.clipboardData || window.clipboardData;
    if (!data || !copyOption)
        return;
    var text = window.getSelection().toString();
    if (text) {
        data.setData('text/plain', text.replace(/[\ue020-\ue0af]/g, 聊天字母化));
        e.preventDefault();
    }
});
 
$(function() {
     if (!document.querySelector('#p-views #ca-view.selected'))
     if (!document.querySelector('#p-views #ca-view.selected'))
         return; // 仅阅读模式生效
         return; // 仅阅读模式生效
     复制为聊天字母 = true;
     copyOption = true;
     var 变体表 = document.querySelector('#p-variants-label ul');
     var checkbox = document.querySelector('#p-variants ul');
     if (变体表) {
     if (checkbox) {
         变体表.appendChild(生成按钮());
         checkbox.appendChild(makeButton());
     }
     }
});
});

2023年2月9日 (四) 01:55的最新版本

var copyOption = false;

function makeButton() {
    var 按钮 = document.createElement('li');
    按钮.classList.add('mw-list-item');
    var linkOpen = document.createElement('a');
    var linkClose = document.createElement('a');
    linkOpen.innerText = '复制聊天字母 ✗';
    linkOpen.addEventListener("click", function() {
        copyOption = true;
        按钮.removeChild(linkOpen);
        按钮.appendChild(linkClose);
        return false;
    });
    linkClose.innerText = '复制聊天字母 ✓';
    linkClose.addEventListener("click", function() {
        copyOption = false;
        按钮.removeChild(linkClose);
        按钮.appendChild(linkOpen);
        return false;
    });
    按钮.appendChild(linkClose);
    return 按钮;
}

var letters = '!bpmwjqxynzDsrHN!bpmwjqxynzDsrHN!bpmwjqxynzDsrHNldtgkh45vF7Bcfualdtgkh45vF7Bcfualdtgkh45vF7BcfuaoeEAYL62T83V1i  oeEAYL62T83V1i  oeEAYL62T83V1i  ';
function 聊天字母化(letter) {
    var code = letter.charCodeAt(0) - 0xe020;
    var caseSign = ['^', '', '~'][(code >>> 4) % 3];
    return caseSign + letters[code];
}

document.getElementById('mw-content-text').addEventListener('copy', function(e) {
    var data = e.clipboardData || window.clipboardData;
    if (!data || !copyOption)
        return;
    var text = window.getSelection().toString();
    if (text) {
        data.setData('text/plain', text.replace(/[\ue020-\ue0af]/g, 聊天字母化));
        e.preventDefault();
    }
});

$(function() {
    if (!document.querySelector('#p-views #ca-view.selected'))
        return; // 仅阅读模式生效
    copyOption = true;
    var checkbox = document.querySelector('#p-variants ul');
    if (checkbox) {
        checkbox.appendChild(makeButton());
    }
});