|
|
@@ -3,20 +3,33 @@
|
|
|
* 请注意,此处引用了外部的this,因此在Vue实例中导入并使用该方法,否则将出现错误
|
|
|
*/
|
|
|
export function copy(content: string) {
|
|
|
+ const textarea = document.createElement('textarea');
|
|
|
+ textarea.innerHTML = content;
|
|
|
+ textarea.value = content;
|
|
|
+ document.body.appendChild(textarea);
|
|
|
+ textarea.select();
|
|
|
try {
|
|
|
- navigator.clipboard.writeText(content).then(
|
|
|
+ if (document.execCommand('copy')) {
|
|
|
// @ts-ignore
|
|
|
this.$message({
|
|
|
type: 'success',
|
|
|
message: '成功复制到剪贴板',
|
|
|
- }),
|
|
|
- );
|
|
|
- } catch (e) {
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ // @ts-ignore
|
|
|
+ this.$message({
|
|
|
+ type: 'error',
|
|
|
+ message: '复制到剪贴板失败',
|
|
|
+ });
|
|
|
+ }
|
|
|
+ } catch (err) {
|
|
|
// @ts-ignore
|
|
|
this.$message({
|
|
|
type: 'error',
|
|
|
message: '复制到剪贴板失败',
|
|
|
});
|
|
|
- console.error(e);
|
|
|
+ console.error(err);
|
|
|
+ } finally {
|
|
|
+ document.body.removeChild(textarea);
|
|
|
}
|
|
|
}
|