PageSourceSearch

https://www.appboxapp.com/build/assets/clipboardUtil.B3LuWT7l.js

js appboxapp.com collected 2026-09-25 22:31:21 UTC 1,731 bytes, 1 lines download raw bytes

1class e{static async copy(e,t="클립보드에 복사되었습니다",o=!0){if(!e)return o&&"undefined"!=typeof Toast&&Toast.error("복사할 내용이 없습니다."),!1;try{return navigator.clipboard&&window.isSecureContext?(await navigator.clipboard.writeText(e),o&&"undefined"!=typeof Toast&&Toast.success(t),!0):this.copyFallback(e,t,o)}catch(n){return this.copyFallback(e,t,o)}}static copyFallback(e,t,o){try{const n=document.createElement("textarea");if(n.value=e,n.style.position="fixed",n.style.top="-9999px",n.style.left="-9999px",n.style.opacity="0",n.setAttribute("readonly",""),document.body.appendChild(n),navigator.userAgent.match(/ipad|ipod|iphone/i)){const e=document.createRange();e.selectNodeContents(n);const t=window.getSelection();t.removeAllRanges(),t.addRange(e),n.setSelectionRange(0,999999)}else n.select();const a=document.execCommand("copy");if(document.body.removeChild(n),a)return o&&"undefined"!=typeof Toast&&Toast.success(t),!0;throw new Error("execCommand failed")}catch(n){return o&&"undefined"!=typeof Toast&&Toast.error("복사에 실패했습니다."),!1}}static async copyFromElement(e,t="클립보드에 복사되었습니다",o=!0){const n="string"==typeof e?document.getElementById(e):e;if(!n)return o&&"undefined"!=typeof Toast&&Toast.error("요소를 찾을 수 없습니다."),!1;const a=n.value||n.textContent||n.innerText||"";return this.copy(a,t,o)}static async copyInputValue(e,t="클립보드에 복사되었습니다",o=!0){const n=document.getElementById(e);return n?this.copy(n.value,t,o):(o&&"undefined"!=typeof Toast&&Toast.error("입력 필드를 찾을 수 없습니다."),!1)}}"undefined"!=typeof window&&(window.ClipboardUtil=e,window.copyToClipboard=(t,o)=>e.copy(t,o));

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.