사용자:Zlzleking/gadgets/addCopyButtonToCode.js: 두 판 사이의 차이

편집 요약 없음
편집 요약 없음
 
1번째 줄: 1번째 줄:
// 간단한 사용자 스크립트입니다. 코드 하이라이트가 적용된 부분의 코드를 복사하는 버튼 하나를 생성합니다.
// 간단한 사용자 스크립트입니다. 코드 하이라이트가 적용된 부분의 코드를 복사하는 버튼 하나를 생성합니다.
// 사용자 스크립트 란에 mw.loader.load( '/index.php?title=사용자:Zlzleking/gadgets/addCopyButtonToCode.js&action=raw&ctype=text/javascript', 'text/javascript' );
// 를 붙여넣으시면 편하게 사용하실 수 있습니다.


function addCopyLinkToCodeElements() {
function addCopyLinkToCodeElements() {

2022년 4월 3일 (일) 19:50 기준 최신판

// 간단한 사용자 스크립트입니다. 코드 하이라이트가 적용된 부분의 코드를 복사하는 버튼 하나를 생성합니다.
// 사용자 스크립트 란에 mw.loader.load( '/index.php?title=사용자:Zlzleking/gadgets/addCopyButtonToCode.js&action=raw&ctype=text/javascript', 'text/javascript' );
// 를 붙여넣으시면 편하게 사용하실 수 있습니다.

function addCopyLinkToCodeElements() {
	const elements = document.querySelectorAll(".mw-parser-output .mw-highlight");
	elements.forEach(function(element) {
		const copybutton = document.createElement('button');
		const code = element.firstChild.innerText;
		copybutton.innerText = "copy";
		copybutton.addEventListener('click',function() {copyCode(code)});
		copybutton.style = "float:right";
		const endBlock = document.createElement('div');
		endBlock.style = "clear:both";
		element.appendChild(copybutton);
		element.appendChild(endBlock);
	});
}

function copyCode(codeText) {
	navigator.clipboard.writeText(codeText);
}

$(function() {addCopyLinkToCodeElements()});