有时候给别人分享网页时希望使用"标题+URL"的形式, 形如:
LINUX DO - 新的理想型社区
https://linux.do/
但是似乎firefox没有快捷复制这种格式的功能, 只能复制URL, 这样的话别人就不能一眼看出你分享的是什么东西
于是研究了一下, 发现可以通过在书签中执行js来实现
javascript:(async () => {
let title = document.title;
if (title.length > 50) title = title.slice(0, 50) + '...';
const text = `${title}\n${location.href}`;
await navigator.clipboard.writeText(text);
const toast = Object.assign(document.createElement('div'), {
textContent: '✓ 已复制分享链接',
});
toast.style = `
position:fixed; left:16px; top:16px; z-index:2147483647;
background:#323232; color:#fff; padding:10px 14px; border-radius:8px;
font-size:14px; box-shadow:0 2px 8px rgba(0,0,0,.3);
opacity:0; transition:opacity .2s ease;
`;
document.body.appendChild(toast);
requestAnimationFrame(() => (toast.style.opacity = '1'));
setTimeout(() => {
toast.style.opacity = '0';
toast.addEventListener('transitionend', () => toast.remove());
}, 2800);
})();
(上面脚本除了按格式复制外, 还会显示一个复制成功的toast)
使用方法: 创建书签, 网址处填写上面的代码, 名称自己随便取(我使用了🔗📤, 生动形象), 然后将这个书签放进书签工具栏方便使用
