在vue或H5中如何使用復(fù)制粘貼功能
vue或H5中使用復(fù)制粘貼
1.使用原生的方法,一般都是在瀏覽器上使用,所以兼容性不是很好
我是直接使用原生方法創(chuàng)建的input,你也可以直接在DOM上加input標(biāo)簽,然后去獲取它的value值.
copyUrl(){
? ?let url = 'https://blog.csdn.net/linfng023/article/details/101014133';
? ?let domInput = document.createElement('input');
? ?domInput.value = url;
? ?document.body.appendChild(domInput); ?// 添加input節(jié)點(diǎn)
? ?domInput.select(); // 選擇對象;
? ?document.execCommand("Copy"); // 執(zhí)行瀏覽器復(fù)制命令
? ?this.$toast({
? ? ?message: `鏈接復(fù)制成功!`,
? ? ?duration: 2000
? ?});
? ?domInput.remove()
},2.使用插件的方式clipboard.js,使用步驟:
安裝clipboard.js,可以使用npm安裝(也可以cnpm)
npm install clipboard --save
引入clipboard.js,可以mian.js上直接引用(全局使用),也可以在你需要復(fù)制粘貼的組件上引用(局部使用)
import clipboard from 'clipboard'; //注冊到vue原型上 Vue.prototype.clipboard = clipboard;
然后復(fù)制粘貼
<a class="copyClassUrl" data-clipboard-action="copy" data-clipboard-text="https://blog.csdn.net/linfng023/article/details/101014133" @click="copyLink">復(fù)制鏈接</a>
copyLink() {
? ? let clipboardUrl = new this.clipboard(".copyClassUrl");
? ? clipboardUrl.on('success', function () {
? ? ? _this.$toast({
? ? ? ? message: `鏈接復(fù)制成功!`,
? ? ? ? duration: 2000
? ? ? });
? ? });
? ? clipboardUrl.on('error', function () {
? ? ? console.log(clipboardUrl)
? ? });
},復(fù)制粘貼功能 :H5或vue或uniapp
1.原生的瀏覽器復(fù)制方式,一般都是在瀏覽器上使用
單獨(dú)定義一個(gè)h5-copy.js文件。用于復(fù)用 復(fù)制粘貼功能
h5-copy.js
export default function h5Copy(content) {
? console.log(content);
? if (!document.queryCommandSupported('copy')) {
? ? // 不支持
?? ?uni.showToast({
?? ??? ?title:'您當(dāng)前的應(yīng)用環(huán)境不支持自動復(fù)制內(nèi)容......',
?? ??? ?icon:'none'
?? ?})
? ? return false
? }
??
? let textarea = document.createElement("textarea")
? textarea.value = content
? textarea.readOnly = "readOnly"
? document.body.appendChild(textarea)
? textarea.select() // 選擇對象
? textarea.setSelectionRange(0, content.length) //復(fù)制的內(nèi)容的范圍?
? let result = document.execCommand("copy") // 執(zhí)行瀏覽器復(fù)制命令
? textarea.remove()
? return result
?
}然后在文件中使用
<template>
<view>
<button type="primary" size="mini" @click="copy">文字復(fù)制</button>
</view>
</template>
<script>
import h5Copy from '@/utils/h5-copy.js'
export default {
data() {
return {
};
},
methods:{
copy(){
// #ifdef H5
let res = h5Copy('傳入要復(fù)制的內(nèi)容')
if (res) {
uni.showToast({
title:'復(fù)制成功',
icon:"success"
})
//window.location.href = "weixin://";
} else {
uni.showToast({
title:'復(fù)制失敗',
icon:"none"
})
}
// #endif
// #ifdef APP-PLUS
uni.setClipboardData({
data: '要復(fù)制的內(nèi)容',
success: () => {
//復(fù)制成功之后的回調(diào) do something here
uni.showToast({
title: '復(fù)制成功'
})
},
fail: () => {
//復(fù)制失敗之后的回調(diào) do something here
uni.showToast({
title: '復(fù)制失敗',
icon: "none"
})
}
});
// #endif
}
}
}
</script>
<style lang="scss"></style>
如果要是在uniapp中使用app與h5 同時(shí)都實(shí)現(xiàn)復(fù)制粘貼功能的話:
- H5可使用上述方式實(shí)現(xiàn),
- app可以用uniapp官網(wǎng)的復(fù)制粘貼的api接口
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解基于mpvue微信小程序下載遠(yuǎn)程圖片到本地解決思路
這篇文章主要介紹了詳解基于mpvue微信小程序下載遠(yuǎn)程圖片到本地解決思路,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-05-05
vue-cli3項(xiàng)目升級到vue-cli4 的方法總結(jié)
這篇文章主要介紹了vue-cli3項(xiàng)目升級到vue-cli4 的方法總結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
Vue局部組件數(shù)據(jù)共享Vue.observable()的使用
隨著組件的細(xì)化,就會遇到多組件狀態(tài)共享的情況,今天我們介紹的是 vue.js 2.6 新增加的 Observable API ,通過使用這個(gè) api 我們可以應(yīng)對一些簡單的跨組件數(shù)據(jù)狀態(tài)共享的情況,感興趣的可以了解一下2021-06-06
Vue3超詳細(xì)的ref()用法教程(看這一篇就夠了!)
這篇文章主要給大家介紹了關(guān)于Vue3超詳細(xì)的ref()用法的相關(guān)資料,在Vue3中ref函數(shù)不僅可以用于在組件中獲取DOM元素或子組件的引用,還可以直接訪問組件元素本身,需要的朋友可以參考下2023-07-07
element?tab標(biāo)簽管理路由頁面的項(xiàng)目實(shí)踐
本文主要介紹了element?tab標(biāo)簽管理路由頁面的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
Vue+Springboot實(shí)現(xiàn)接口簽名的示例代碼
這篇文章主要介紹了Vue+Springboot實(shí)現(xiàn)接口簽名的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
解決Vue中引入swiper,在數(shù)據(jù)渲染的時(shí)候,發(fā)生不滑動的問題
今天小編就為大家分享一篇解決Vue中引入swiper,在數(shù)據(jù)渲染的時(shí)候,發(fā)生不滑動的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09
vue使用@include或@mixin報(bào)錯(cuò)的問題及解決
這篇文章主要介紹了vue使用@include或@mixin報(bào)錯(cuò)的問題及解決,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02

