Greasemonkey \ JavaScript [クリップボードにコピー]ボタン
-
11-07-2019 - |
質問
要素の後にボタンを追加するグリースモンキーに追加するJavaScriptスクリプトを記述しようとしています。このボタンのonClickは、親要素のテキストをキーボードにコピーする必要があります。次のように、既に選択したテキストをクリップボードにコピーする例がたくさんあります:
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function copyit(theField) {
var selectedText = document.selection;
if (selectedText.type == 'Text') {
var newRange = selectedText.createRange();
theField.focus();
theField.value = newRange.text;
} else {
alert('Alert: Select The text in the textarea then click on this button');
}
}
// End -->
</script>
<input onclick="copyit(this.form.text_select)" type="button" value="Click Here to Copy the Highlighted Text" name="copy_button">
こちら。
また、入力要素でテキストを選択できることもわかりました。私は両方の手法を組み合わせてみましたが、他の多くの手法と同様に実行可能な解決策はまだありません。上記のコードがクリップボードにコピーされる理由もわかりません。誰にもこれに対する解決策がありますか?
解決
記事全体を読むのに時間がかかった場合、著者はこれがFirefoxで機能しないと述べています...
実際、クリップボードに関連することは何もないので、IEでも動作しないと思います!
デフォルトでは、Firefoxはセキュリティ上の理由からクリップボードへのアクセスを禁止するため、Flashを使用する手法があります。
それ以外の場合、コピーを行う古典的な方法は次のとおりです。
var tc = textToCopy.replace(/\n\n/g, '\n');
if (window.clipboardData) // IE
{
window.clipboardData.setData("Text", tc);
}
else
{
unsafeWindow.netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
const clipboardHelper = Components.classes
["@mozilla.org/widget/clipboardhelper;1"].
getService(Components.interfaces.nsIClipboardHelper);
clipboardHelper.copyString(tc);
}
(特定のサイトの)コピーを有効にした後。
他のヒント
あなたの例が機能することを確認しますか?私のブラウザにはありません。ただし、次のページをご覧ください: http://www.jeffothy.com/weblog/ clipboard-copy /
所属していません StackOverflow