JavaScript で独自のコンテキスト メニューを作成することを検討しましたか? ユーザーが本文を右クリックするのを聞いてから、メニューにコピー アンド ペースト コマンドを表示します (ヒント: element.style.display = "block|none")。コピーするには、次のコードを実行します。
CopiedTxt = document.selection.createRange();
CopiedTxt.execCommand("Copy");
そして貼り付けるには:
CopiedTxt = document.selection.createRange();
CopiedTxt.execCommand("Paste");
ソース:
http://www.geekpedia.com/tutorial126_Clipboard-cut-copy-and-paste-with-JavaScript.html
注: これは IE でのみ機能します (アプリケーションにとっては問題ありません)。
決して防弾ではないことはわかっていますが、ここにコードサンプルを示します。
<html>
<head>
<script type = "text/javascript">
var lastForm = null;
window.onload = function(){
var menu = document.getElementById("ContextMenu");
var cpy = document.getElementById("CopyBtn");
var pst = document.getElementById("PasteBtn");
document.body.onmouseup = function(){
if (event.button == 2)
{
menu.style.left = event.clientX + "px";
menu.style.top = event.clientY + "px";
menu.style.display = "block";
return true;
}
menu.style.display = "none";
};
cpy.onclick = function(){
copy = document.selection.createRange();
copy.execCommand("Copy");
return false;
};
pst.onclick = function(){
if (lastForm)
{
copy = lastForm.createTextRange();
copy.execCommand("Paste");
}
return false;
};
};
</script>
</head>
<body oncontextmenu = "return false;">
<div id = "ContextMenu" style = "display : none; background: #fff; border: 1px solid #aaa; position: absolute;
width : 75px;">
<a href = "#" id = "CopyBtn" style = "display: block; color : blue; text-decoration: none;">Copy</a>
<a href = "#" id = "PasteBtn" style = "display: block; color : blue; text-decoration: none;">Paste</a>
</div>
sadgjghdskjghksghkds
<input type = "text" onfocus = "lastForm = this;" />
</body>
</html>