当前位置: 首页 > news >正文

江西营销网站建设免费发帖平台

江西营销网站建设,免费发帖平台,平面广告设计教程自学,如何创建一个公司网站1. 定义复制拷贝的方法 在某个工具类方法中定义该方法,兼容不同浏览器处理 /*** description 拷贝的类方法*/ class CopyClass {// constructor() {}setRange(input) {return new Promise((resolve, reject) > {try {// 创建range对象const range document.c…

1. 定义复制拷贝的方法

在某个工具类方法中定义该方法,兼容不同浏览器处理

/*** @description 拷贝的类方法*/
class CopyClass {// constructor() {}setRange(input) {return new Promise((resolve, reject) => {try {//  创建range对象const range = document.createRange();// 获取复制内容的 id 选择器range.selectNode(input);// 创建 selection对象const selection = window.getSelection();// 如果页面已经有选取了的话,会自动删除这个选区,没有选区的话,会把这个选取加入选区if (selection.rangeCount > 0) {selection.removeAllRanges();} else {//}// 将range对象添加到selection选区当中,会高亮文本块selection.addRange(range);resolve();} catch (error) {reject(error);}});}createInput(val) {return new Promise((resolve, reject) => {try {const input = document.createElement('input'); // 创建input对象input.type = 'hidden';input.value = val;resolve(input);} catch (error) {reject(error);}});}execCommand() {return new Promise((resolve, reject) => {try {//  该方法已弃用document.execCommand('Copy');resolve();} catch (error) {reject(error);}});}inputSelectCopy(input) {return new Promise((resolve, reject) => {try {document.body.appendChild(input);input.select(); // 选择对象;this.execCommand().then(() => {input.remove();resolve();}).catch(e => {reject(e);});} catch (error) {reject(error);}});}clipboardWriteText(val) {return new Promise((resolve, reject) => {try {navigator.clipboard.writeText(val).then(res => {resolve();}).catch(e => {reject(e);});} catch (error) {reject(error);}});}copy(val) {return new Promise((resolve, reject) => {if (val && typeof val === 'string') {const errorObj = new Error('页面复制内容失败!');this.clipboardWriteText(val).then(res => {resolve();}).catch(e => {this.createInput(val).then(res => {this.setRange(res).then(() => {this.execCommand().then(() => {resolve();}).catch(e => {reject(errorObj);});}).catch(e => {this.inputSelectCopy(res).then(() => {resolve();}).catch((e) => {reject(errorObj);});});}).catch(e => {reject(errorObj);});});} else {reject(new Error('不能复制无效内容!'));}});}
}/*** @description 拷贝*/
export function copy(val) {const copyClass = new CopyClass();return copyClass.copy(val);
}

2. 实际调用

import copy from '@/utils/index';copy('需要拷贝的内容').then((res) => {//	成功提示
}).catch(e => {//	报错提示
});

3. 涉及方法

  1. document.createRange: 返回一个 Range 对象。
  2. selectNode: Range.selectNode() 方法将 Range 设置为包含整个 Node 及其内容。Range 的起始和结束节点的父节点与 referenceNode 的父节点相同。
  3. window.getSelection: 返回一个 Selection 对象,表示用户选择的文本范围或光标的当前位置。
  4. removeAllRanges: 从Selection对象里移除Range对象。
  5. addRange: 将一个Range对象添加到Selection对象中。
  6. document.execCommand: 当一个 HTML 文档切换到设计模式时,document暴露 execCommand 方法,该方法允许运行命令来操纵可编辑内容区域的元素。这里我们使用copy命令来复制所选内容。 需要注意的是,该方法已经被弃用了!!!
  7. navigator.clipboard.writeText: Clipboard 接口的 writeText() 方法可以写入特定字符串到操作系统的剪切板, 该方法返回一个关于执行情况的Promise。
http://www.mmbaike.com/news/28192.html

相关文章:

  • 网站功能详细设计模板建站网页
  • 同一域名可以做相同网站吗防疫管控优化措施
  • 贵阳政府网站建设招聘怎么在百度上做公司网页
  • 做复刻衣服买网站菏泽地网站seo
  • 佛山高端网站制作佛山网站建设正规公司
  • 公司企业顶层设计seo人员是什么意思
  • 四平做网站服务之家网站推广公司
  • 濮阳做网站的公司百度电脑版网页版
  • 网站图怎么做会高清免费顶级域名注册网站
  • 企业vi设计主要包括哪些内容seo网络优化
  • 南京网站制作公司电话营销推广平台
  • 郑州专业的网站建设最新百度快速排名技术
  • 哪里找做网站的客户深圳 网站制作
  • 烟台h5网站建设公司semen
  • 中国联通网站备案管理系统小程序开发哪家更靠谱
  • 百度站长app电商项目策划书
  • asp网站可运行jsp吗做关键词排名好的公司
  • 南京 网站建站新闻发稿渠道
  • 昌平网站建设公司windows永久禁止更新
  • 陕西网站建设优化建站搜索引擎营销分类
  • 如何做游戏软件seo站长论坛
  • 有哪些教育网站做的比较好如何刷seo关键词排名
  • 营销型网站建设公司易网拓公司网络推广营销
  • 网上设计接单的网站北京seo营销培训
  • 网站设计方式常见的营销策略有哪些
  • 如何选择丹阳网站建设国家认可的教育培训机构
  • axurerp如何做网站移动网站优化排名
  • 哪个网站可以做竖屏百度账号登陆
  • 通化网站建设网站收录提交入口大全
  • title:(网站建设)山东搜索引擎优化