# コピーボタンを自作したい

**URL:** <https://community.cybozu.dev/t/topic/8784>\
**Category:** kintone 開発相談\
**Created:** [2024 年 3 月 6 日午後 3:35 UTC](https://community.cybozu.dev/t/topic/8784 "2024-03-06T15:35:17Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![MandH](https://sea1.discourse-cdn.com/flex015/user_avatar/community.cybozu.dev/mandh/32/852_2.png) [@MandH](https://community.cybozu.dev/u/MandH)\
**Post date:** [2024 年 3 月 6 日午後 3:35 UTC](https://community.cybozu.dev/t/topic/8784/1 "2024-03-06T15:35:17Z")

</div>

フィールドの内容をクリップボードにコピーするボタンを作りたいです。

現在、  
レコードデータコピー（メール転記）プラグイン([レコードデータコピー（メール転記）プラグイン | kintoneプラグイン | かりんこラボ](https://caryncolabo.com/kintone_plugin/copyrecord/))  
を使用しています。

ただ、ポップアップが毎回表示されることと、１レコードに１つしかコピーボタンが設置できないため、JavaScriptでボタンを自作することにしました。

今回ボタンの作成はできましたが、コピーすると

aaaaa↵  
↵ ←本来は1行なのに、2行空く  
aaaaa

のように、改行が2行になってしまいます。

コピーしたい文章は、kintoneの「文字列（複数行）の設定」の初期値に設定したものです。

```javascript
(function() {
  "use strict";

  // ボタンを設置
  let addButton = function(event) {
    let addCopyButton = document.createElement('button_ref');
    addCopyButton.innerHTML = '本文コピー';
    addCopyButton.id = 'add_soft_button';
    addCopyButton.classList.add('kintoneplugin-button-dialog-ok');

    // クリップボードにコピー
    let mailContent = kintone.app.record.getFieldElement("content");
    addCopyButton.addEventListener('click', function() {
      const mailContentText = mailContent.innerText;
      copytoClipboarad(mailContentText);
    });

    // コピーを実行
    kintone.app.record.getSpaceElement('button_ref').appendChild(addCopyButton);

    // コピー後の挙動
    function copytoClipboarad(target) {
      navigator.clipboard.writeText(target);
      addCopyButton.innerHTML = 'コピーしました！';
      addCopyButton.classList.add('kintoneplugin-button-dialog-cancel');
    }
  };

  kintone.events.on(['app.record.detail.show', 'app.record.edit.show', 'app.record.create.show'], function(event) {
    //ボタンの追加
    addButton(event);
    return event;
  });

})();

```

どなたかなにかわかる方いらっしゃいませんでしょうか。  
よろしくお願いします。

---

<div class="post-metadata">

**Author:** ![jurippe](https://sea1.discourse-cdn.com/flex015/user_avatar/community.cybozu.dev/jurippe/32/27_2.png) [@jurippe](https://community.cybozu.dev/u/jurippe)\
**Post date:** [2024 年 3 月 11 日午前 6:04 UTC](https://community.cybozu.dev/t/topic/8784/2 "2024-03-11T06:04:27Z")

</div>

どこで改行が紛れ込んだか調べてみると良いかもです。  
初期値に改行入ってませんか？  
クリップボードにコピーされた文字列に改行入ってませんか？  
どうしても改行が入り込む場合は置換するなどして、  
最後の改行だけ取り除けば良いのではないでしょうか👀！？

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex015/uploads/cybozu/original/1X/d5c841c3c5a6cb66eed514001c1b45147c9e1f4f.png) [@system](https://community.cybozu.dev/u/system)\
**Post date:** [2024 年 5 月 31 日午前 5:38 UTC](https://community.cybozu.dev/t/topic/8784/3 "2024-05-31T05:38:53Z")

</div>

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。
