5

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

ここにあります

入力要素でテキストを選択できることもわかりました。私は両方の手法を組み合わせてみましたが、他の多くの手法と同様に、実行可能な解決策がまだありません。上記のコードがクリップボードにコピーされる理由もわかりません。誰にもこれに対する解決策がありますか?

4

2 に答える 2

5

時間をかけて記事全体を読んだ場合、著者は、これは 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);
}

コピーを有効にした後 (特定のサイトに対して)。

于 2008-12-08T00:04:46.577 に答える
1

あなたの例がうまくいくと確信していますか?私のブラウザにはありません。しかし、次のページを見てください: http://www.jeffothy.com/weblog/clipboard-copy/

于 2008-11-25T09:07:07.017 に答える