油猴脚本案例:拦截点击事件, GM_setClipboard复制文本
拦截a标签点击,并复制文本:
// ==UserScript==
// @name 案例:拦截点击,并复制文本
// @match *://www.baidu.com/*
// @grant GM_setClipboard
// ==/UserScript==
(function() {
'use strict';
document.querySelectorAll('.hotsearch-item .title-content-title').forEach(element => {
element.addEventListener('click',(e)=>{
// console.log('clicked',e);
e.preventDefault()
GM_setClipboard(e.target.innerText)
})
});
// Your code here...
})();
进阶:添加一个按钮,点击复制
// ==UserScript==
// @name 案例:添加按钮,拦截点击,并复制文本
// @description 测试样例
// @match *://www.baidu.com/*
// @grant GM_setClipboard
// ==/UserScript==
(function() {
'use strict';
document.querySelectorAll('.hotsearch-item .title-content-title').forEach(element => {
let btn = document.createElement('button')
btn.innerText = '复制'
element.before(btn)
btn.addEventListener('click',(e)=>{
e.preventDefault()
GM_setClipboard(element.innerText)
})
});
})();