복사하려면 클릭하세요!
7764 단어 webdevreactjavascriptcodenewbie
얘들아 👋
일부 웹사이트에 "클릭하여 복사"기능이 있는지 궁금한 적이 있습니까?
이 기사에서는 사용자의 클립보드 😄를 어지럽히는 방법을 설명합니다.
시작해봅시다 🚀
이것을 더 잘 설명하기 위해 데모 프로젝트를 만들겠습니다. 원한다면 따라할 수 있습니다.
index.html
app.js
index.html
에 다음 HTML 코드를 추가합니다.<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Copy to Clipboard 📋</title>
<style></style>
</head>
<body>
<h2>Implementing copy to clipboard with a simple click 📋</h2>
<button>Click to copy</button>
<script src="./app.js"></script>
</body>
</html>
h2
에서 button
및 app.js
요소를 선택합니다.const h2 = document.querySelector('h2');
const button = document.querySelector('button');
브라우저에서
index.html
를 미리 봅니다.Side note: This demo will not work in IE
다음과 같아야 합니다 👇
이제 사용자의 클립보드를 변경하려면 Clipboard API 을 사용해야 합니다.
clipboard
개체는 navigator.clipboard
속성에 의해 노출됩니다.app.js
파일에 다음 코드를 추가합니다.const cb = navigator.clipboard;
console.log(cb)
는 다음과 같이 보일 것입니다 👇👉 기억하세요: 클립보드 API는 비동기식입니다. 즉, 모든 메서드가 해결되거나 거부되는 약속을 반환합니다.
promise
를 사용하려면 async/await
구문 또는 .then/.catch
를 사용할 수 있습니다.클립보드에서 텍스트 읽기 📋
click
이벤트 리스너를 button
에 추가합니다.readText()
개체에서 사용할 수 있는 cb
라는 메서드를 호출합니다.button.addEventListener('click', async () => {
const text = await cb.readText();
console.log(text);
// output will be whatever you last copied,
// or empty string if the
// copied data is not of type text.
});
read
권한을 부여해야 합니다. 그렇지 않으면 작업이 실패합니다. 👇You can check if the user granted the permission or not using the Permission API.
To learn more about Permissions API read my article .
클립보드에 텍스트 쓰기 📋
writeText()
개체에서 사용할 수 있는 cb
메서드를 사용합니다.app.js
에 다음 코드를 작성합니다.button.addEventListener('click', async () => {
// const text = await cb.readText();
// console.log(text);
// writing the inner text of the h2 element
// to the user's clipboard.
cb.writeText(h2.innerText).then(() => {
console.log('text written to clipboard')
})
});
이것이이 기사의 전부입니다.
사용자의 클립보드를 엉망으로 만드는 것이 얼마나 쉬운지 보세요 😂.
읽어주셔서 감사합니다 ❤️ 도움이 되셨기를 바랍니다.
간결한 팁과 요령을 보려면 다음을 따르십시오.
즐거운 코딩 💚
Reference
이 문제에 관하여(복사하려면 클릭하세요!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sidmirza4/click-to-copy-81k텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)