デフォルトのブラウザのコンテキストメニューを使用していると仮定しましょう。
編集:リンクのコンテキストメニューを閉じた直後にクリップボードのリンクを置き換える(ユーザーが[リンクの場所をコピー]以外のオプションを選択した場合でも)ことも許容できる解決策です。
編集:リンクのコンテキストメニューを閉じた直後にクリップボードのリンクを置き換える(ユーザーが[リンクの場所をコピー]以外のオプションを選択した場合でも)ことも許容できる解決策です。
ユーザーが適切な権限を付与した場合、イベントハンドラーおよび非同期クリップボードAPI内contextmenu
にfocusout
アタッチさwindow
れたcontextmenu
イベントを使用できます
<body>
<a id="a" href="#">click</a>
<script>
a.addEventListener('contextmenu', e => {
console.log(e);
window.addEventListener("focusout", e => {
console.log(e);
navigator.clipboard.writeText(a.href)
.then(() => {
console.log('Text copied to clipboard');
})
.catch(err => {
// This can happen if the user denies clipboard permissions:
console.error('Could not copy text: ', err);
});
navigator.clipboard.readText()
.then(text => {
console.log('Pasted content: ', text);
})
.catch(err => {
console.error('Failed to read clipboard contents: ', err);
});
}, {
once: true
});
});
</script>
</body>
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加