Autify JavaScript Snippets
Toggle Dark/Light/Auto modeToggle Dark/Light/Auto modeToggle Dark/Light/Auto mode Back to homepage
Edit page

クリップボードの値を読み出す

このスニペットを使うと、前のステップでdocument.execCommand("copy")を使ってクリップボードにコピーされた値を読みだすことができます。

注: このスニペットはコピーされたデータがテキストであると仮定しています。

利用方法

2 つのペアになった JS ステップをシナリオに追加する必要があります。

  1. データをlocalStorageに保存するリスナーを、copyイベントのイベントリスナーに追加するステップ
  2. localStorageからデータを読み出すステップ

ステップ 1 はクリックするステップの前に挿入する必要があります。そうすることで、クリックするステップの後でデータを読み出すことができるようになります。

// Step 1
document.addEventListener("copy", function (event) {
  var active = document.activeElement;
  if (
    active instanceof HTMLInputElement ||
    active instanceof HTMLTextAreaElement
  ) {
    var data = active.value.substring(
      active.selectionStart,
      active.selectionEnd
    );
    localStorage.setItem("clipboard", data);
  }
});

// Step 2
return localStorage.getItem("clipboard");

注意点

Autify では iOS Safari のdocument.execCommand("copy") は機能しません

技術的制約により、Autify ではdocument.execCommand("copy") が iOS Safari の環境上でのみうまく発動しません。そのため、このスニペット(および他の回避策)は iOS Safari 上では機能しません。(2022 年 3 月現在)

もしサイトがnavigation.clipboard.writeText() API を使ってクリップボードにコピーしている場合、このアプローチはうまく動きません。この API はclipboardchangeというイベントを発行することになっているのですが、2022 年 3 月現在 Chromium ではこのイベントがまだ実装されていません。