极客时间对于推广渠道会有返利优惠,比如山月在极客时间买了一门课,再把课程分享给好友购买,这时极客时间会向山月返利20元左右。
而我现在做了一个返利平台,你可以在上边通过山月的链接购买课程,此时极客时间会向我返利。为了共同学习,而你可以添加我的微信 (shanyue94),我将把极客时间给我的返利发一个红包全部返给你

# 浏览器中如何实现剪切板复制内容的功能

更多描述

在一些博客系统,如掘金的博客中,可以复制代码,它是如何实现的

Issue

欢迎在 Issue 中交流与讨论: Issue 20 (opens new window)

它一般可以使用第三方库 clipboard-copy (opens new window) 来实现,源码很简单,可以读一读

目前最为推荐的方式是使用 Clipboard API 进行实现

navigator.clipboard.writeText(text)

而对于一些不支持 Clipboard API 的浏览器,使用以下 API 进行复制

  1. 选中: Selection API
  2. 复制: document.execCommand (已被废弃)

# 选中: Selection API/Range API

选中主要利用了 Selection API (opens new window) 与 Range API

选中的代码如下

const selection = window.getSelection();
const range = document.createRange();

// RangeAPI: 制造区域
range.selectNodeContents(element);

// Selection: 选中区域
selection.addRange(range);

selectedText = selection.toString();

取消选中的代码如下

window.getSelection().removeAllRanges();

它有现成的第三方库可以使用: select.js (opens new window)

# 复制: execCommand

复制就比较简单了,execCommand

document.execCommand('copy')

关于山月

我的项目:
我的微信:shanyue94,欢迎交流
Last Updated: 5/14/2021, 1:48:53 PM