const elem = document.getElementById("logo");
if (elem.requestFullscreen) {
elem.requestFullscreen(); // 请求从id为"logo"的元素进入全屏模式
}
复制、粘贴 API, 每个CV程序猿的好伙伴!!
if (navigator.clipboard // 剪贴板是否存在
&& navigator.clipboard.read // 剪贴板是否可读
&& navigator.clipboard.write) { // 剪贴板是否可写
// 支持
} else {
// 不支持
}
读操作 const text = await navigator.clipboard.readText();
写操作 await navigator.clipboard.writeText(copyText); // 将copyText的值写入剪贴板
这个比较简单,直接上demo:
<input v-model="copy" />
<button @click="performCopy" id="copy">copy</button>
<br />
<input type="text" disabled v-model="paste" />
// copy异步函数
async performCopy(event) {
event.preventDefault()
try {
await navigator.clipboard.writeText(this.copy) // 将copyText的值写入剪贴板
console.log(`${this.copy} copied to clipboard`)
} catch (err) {
console.error('Failed to copy: ', err)
}
}
// paste异步函数
async performPaste(event) {
event.preventDefault()
try {
const text = await navigator.clipboard.readText() // 从剪贴板读取上一次复制的值
this.paste = text
console.log('Pasted content: ', text)
} catch (err) {
console.error('Failed to read clipboard contents: ', err)
}
}
未完待续。。。
使用 Web API 的一个较大的痛点是,其中的大多数尚未标准化。 这意味着,对 Web API 的支持可能因浏览器供应商而异。 例如,我们可能会发现一个适用于 Chrome 浏览器的 API,但尚未支持 Firefox 或 Edge 浏览器。
这里顺便介绍下这个常用的API兼容性查询网站 https://caniuse.com
从这个网站https://caniuse.com中,你可以查询某个API在各个版本的不同浏览器中的兼容性,比如IE,Chrome, Firefox,UC浏览器,QQ浏览器等。
https://developer.mozilla.org/zh-CN/docs/Web/API/Fullscreen_API
https://developer.mozilla.org/zh-CN/docs/Web/API/Fullscreen_API/Guide
https://caniuse.com/
https://github.com/hjwforever/LearningLab/blob/master/JS/Web-API/src/components/NewWebAPI.vue
https://github.com/weiweiwei256/basics-learn/blob/master/vue-cli/src/new-api/NewApi.vue
https://blog.greenroots.info/10-lesser-known-web-apis-you-may-want-to-use