質問

要素の後にボタンを追加するグリースモンキーに追加する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 /

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top