편집 요약 없음 |
편집 요약 없음 |
||
10번째 줄: | 10번째 줄: | ||
}); | }); | ||
const code = element.firstChild.innerText; | const code = element.firstChild.innerText; | ||
copybutton.on('click', function() { | copybutton.on('click', function() { copyCode(code); }); | ||
const endBlock = document.createElement('div'); | const endBlock = document.createElement('div'); | ||
endBlock.style = "clear:both"; | endBlock.style = "clear:both"; | ||
$(element). | $(element).prepend(copybutton.$element); | ||
element.appendChild(endBlock); | element.appendChild(endBlock); | ||
}); | }); |
2022년 9월 4일 (일) 13:25 판
function addCopyLinkToCodeElements() {
mw.util.addCSS('.copy-button { float:right; margin-left: -9999999px; margin-top: 0.7em; margin-right: 0.7em; }')
const elements = document.querySelectorAll(".mw-parser-output .mw-highlight");
elements.forEach(function(element) {
var copybutton = new OO.ui.ButtonWidget({
label: 'copy',
icon: 'code',
title: 'copy',
classes: ['copy-button']
});
const code = element.firstChild.innerText;
copybutton.on('click', function() { copyCode(code); });
const endBlock = document.createElement('div');
endBlock.style = "clear:both";
$(element).prepend(copybutton.$element);
element.appendChild(endBlock);
});
}
function copyCode(codeText) {
navigator.clipboard.writeText(codeText);
}
mw.loader.using( [ 'oojs-ui-core' ], function () {
addCopyLinkToCodeElements()
});