【javascript】navigator.clipboard.writeTextで Uncaught TypeError: Cannot read property ‘writeText’ of undefined

開発環境でのクリップボードへのコピーボタン実装で
navigator.clipboard.writeTex を使ったら以下のエラーが出た。

Uncaught TypeError: Cannot read property 'writeText' of undefined

使い方あってるよね。。。?
ブラウザはGoogle Chromeだし。。。?
(IEは非対応のようです)

どうやらclipboardHTTP環境では動作しないっぽい。

Content scripts applied on HTTP sites do not have access to the clipboard object.

HTTPS環境では動作しました。

これ、日本語サイト だとHTTP sitesをウェブサイトって翻訳されているからわかりづらいな。。。

ウェブサイトに適用されたコンテンツスクリプトは、Clipboard オブジェクトにアクセスすることはできません。

また、同様の機能でexecCommand() があるのですが、
これは非推奨のようです。

廃止

この機能は廃止されました。まだいくつかのブラウザーで動作するかもしれませんが、いつ削除されてもおかしくないので、使わないようにしましょう。

(2020/12/12追記)
文句だけいうのもあれなので、MDN Web Docs にアカウント作って日本語サイトを編集してみました。
ウェブサイトの部分をHTTPサイトに変更しています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。