{"id":1304,"date":"2023-07-20T13:12:53","date_gmt":"2023-07-20T05:12:53","guid":{"rendered":"https:\/\/www.zhidianwl.net\/zhidianwl\/?p=1304"},"modified":"2023-07-20T13:12:53","modified_gmt":"2023-07-20T05:12:53","slug":"webclipboard%e6%80%8e%e4%b9%88%e5%bc%95%e7%94%a8%ef%bc%9f","status":"publish","type":"post","link":"https:\/\/www.zhidianwl.net\/zhidianwl\/2023\/07\/20\/webclipboard%e6%80%8e%e4%b9%88%e5%bc%95%e7%94%a8%ef%bc%9f\/","title":{"rendered":"webclipboard\u600e\u4e48\u5f15\u7528\uff1f"},"content":{"rendered":"

Web\u526a\u8d34\u677f\uff08Web Clipboard\uff09\u662f\u6d4f\u89c8\u5668\u63d0\u4f9b\u7684\u4e00\u79cd\u65b9\u4fbf\u7528\u6237\u5728\u4e0d\u540c\u7f51\u9875\u4e4b\u95f4\u590d\u5236\u548c\u7c98\u8d34\u5185\u5bb9\u7684\u529f\u80fd\u3002\u5b83\u57fa\u4e8e\u526a\u8d34\u677fAPI\uff08Clipboard API\uff09\u5b9e\u73b0\uff0c\u63d0\u4f9b\u4e86\u4e00\u79cd\u5728Web\u5e94\u7528\u95f4\u4f20\u9012\u6570\u636e\u7684\u7b80\u5355\u65b9\u5f0f\u3002<\/p>\n

\u672c\u7bc7\u6587\u7ae0\u5c06\u8be6\u7ec6\u4ecb\u7ecdWeb\u526a\u8d34\u677f\u7684\u539f\u7406\u53ca\u4f7f\u7528\u65b9\u6cd5\uff0c\u5e2e\u52a9\u4f60\u5feb\u901f\u4e0a\u624b\u3002<\/p>\n

\u4e00\u3001\u526a\u8d34\u677fAPI\u7b80\u4ecb<\/p>\n

\u526a\u8d34\u677fAPI\uff08Clipboard API\uff09\u662fwebclip\u600e\u4e48\u5378\u8f7d<\/a>Web API\u7684\u4e00\u90e8\u5206\uff0c\u5141\u8bb8\u6211\u4eec\u8bbf\u95ee\u526a\u8d34\u677f\u7684\u5185\u5bb9\uff0c\u5e76\u5bf9\u5176\u8fdb\u884c\u8bfb\u3001\u5199\u64cd\u4f5c\u3002\u4f7f\u7528\u8fd9\u4e2aAPI\uff0c\u53ef\u4ee5\u4e3a\u81ea\u5df1\u7684 web \u5e94\u7528\u5b9e\u73b0\u590d\u5236\u3001\u7c98\u8d34\u3001\u526a\u5207\u7b49\u529f\u80fd\u3002 \u503c\u5f97\u6ce8\u610f\u7684\u662f\uff0c\u4e3a\u4e86\u4fdd\u62a4\u7528\u6237\u5b89\u5168\uff0c\u526a\u8d34\u677fAPI\u7684\u90e8\u5206\u529f\u80fd\u53ea\u80fd\u5728\u5b89\u5168\u4e0a\u4e0b\u6587\uff08secure context\uff0c\u5373HTTPS\u534f\u8bae\uff09\u4e2d\u4f7f\u7528\u3002<\/p>\n

\u4e8c\u3001\u4f7f\u7528\u526a\u8d34\u677fAPI\u7684\u6743\u9650<\/p>\n

\u4e3a\u4e86\u4fdd\u62a4\u7528\u6237\u7684\u9690\u79c1\u548c\u5b89\u5168\uff0c\u526a\u8d34\u677fAPI\u9700\u8981\u786e\u4fdd\u7528\u6237\u5141\u8bb8\u6d4f\u89c8\u5668\u8bbf\u95ee\u526a\u8d34\u677f\u3002\u4ee5\u4e0b\u662f\u4e24\u79cd\u5178\u578b\u7684\u6743\u9650\u83b7\u53d6\u65b9\u5f0f\uff1a<\/p>\n

1. \u7528\u6237\u70b9\u51fb\u64cd\u4f5c\uff1a<\/p>\n

\u5728\u7528\u6237\u89e6\u53d1\u7684\u70b9\u51fb\u4e8b\u4ef6\uff08\u5982click\u3001mousedown\u7b49\uff09\u5185\u90e8\uff0c\u6d4f\u89c8\u5668\u4f1a\u5141\u8bb8\u8bbf\u95ee\u526a\u8d34\u677f\u3002\u901a\u5e38\uff0c\u8fd9\u79cd\u60c5\u51b5\u4e0b\u4e0d\u9700\u8981\u663e\u793a\u8bf7\u6c42\u6743\u9650\u3002<\/p>\n

2. \u4f7f\u7528Permissions API\uff1a<\/p>\n

\u82e5\u60f3\u5728\u975e\u7528\u6237\u6fc0\u6d3b\u7684\u60c5\u51b5\u4e0b\u8bbf\u95ee\u526a\u8d34\u677f\uff0c\u9700\u8981\u4f7f\u7528Permissions API\u8bf7\u6c42\u76f8\u5e94\u6743\u9650\u3002\u8fd9\u4e00\u529f\u80fd\u53ef\u80fd\u56e0\u6d4f\u89c8\u5668\u800c\u5f02\u3002<\/p>\n

“`js<\/p>\n

navigator.permissions.query({name: ‘clipboard-write’}).then(result => {<\/p>\n

if (result.state === ‘granted’ || result.state === ‘prompt’) {<\/p>\n

\/\/ \u6388\u6743\u6210\u529f\u6216\u9700\u8981\u63d0\u793a\u7528\u6237\u6388\u6743\uff0c\u53ef\u4ee5\u4f7f\u7528\u526a\u8d34\u677fAPI<\/p>\n

}<\/p>\n

});<\/p>\n

“`<\/p>\n

\u4e09\u3001\u4f7f\u7528\u526a\u8d34\u677fAPI\u5b9e\u73b0\u590d\u5236\u3001\u7c98\u8d34\u529f\u80fd<\/p>\n

#### \u590d\u5236\uff1a<\/p>\n

1. \u4e3a\u4e00\u4e2a\u6309\u94ae\u6dfb\u52a0\u590d\u5236\u529f\u80fd\uff1a<\/p>\n

“`html<\/p>\n