当前位置: 首页 > 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.sczhlp.com/news/120303/

相关文章:

  • 电子商务网站的建设收益搜索关键词优化
  • 做网站导航用什么开元程序电子商务网站建设考试
  • 长沙电子商务公司网站制作如何搭建网站赚钱
  • php网站开发实际教程答案男女直接做的视频网站
  • 给自己的家乡建设网站企微管家
  • 网站建设实施wordpress 豆瓣fm
  • 汽车配件外贸网站网站建设技术公司排名
  • 化工建设网站建设网站的费用
  • 不用买服务器可以做网站网站描文本
  • 洛阳霞光网络科技淄博seo网络推广
  • Twincat 中如何将位变量链接到字节
  • 不管不管,就要你的特殊对待(权限)
  • 202003_攻防世界_功夫再高也怕菜刀
  • 网站建设一般字体多大可用的国外ip地址
  • 公司网站域名主机成品网站源码免费
  • 北京网站域名快速备案做游戏网站选服务器
  • 网站设计站点管理教育app定制开发
  • 长沙做网站大概多少钱利用数据库修改wordpress密码
  • 营销型网站建设公司方法和技巧世界500强设计公司有哪些
  • seo 网站推广推广网站有多少家
  • 域名被锁定网站打不开凡客建网站
  • 怎样推广产品如何优化网站打开速度
  • 工业软件:重塑协同流程、降低制造成本的关键器具
  • 实用指南:【2025最新版】PCL点云处理算法汇总(C++长期更新版)
  • Gemini Proxy for Xcode 26
  • 医疗器械招商网站大全梅县区建设工程交易中心网站
  • 织梦网站版本北京网上申请营业执照
  • 免费推广企业网站海口网红美食餐厅
  • 腾讯云网站托管基于django的电子商务网站开发
  • 备案后可以修改网站吗长春企业网站排名优化