Chromeの拡張機能をFirefoxに移植しようとしています。
だいたい動くのですが、クリップボードのコピーがうまく行きません。
コードの抜粋ですが、Chromeでは次のような処理でクリップボードにテキストをコピーできました。
javascript
1let blogLink = 'dummy'; 2document.execCommand('copy'); 3 4document.addEventListener('copy', e => { 5 e.preventDefault(); 6 e.clipboardData.setData('text/plain', blogLink); 7});
調べたところ、Firefoxでもdocument.execCommand('copy');
や、e.clipboardData.setData
はあるようなのですが、動作しません。
デバッグしてもエラーが出ません。
Firefoxの拡張機能上で、クリップボードへのテキストのコピーはどのようにしたらいいでしょうか?
以下追加
browserActionで動かそうとしています。
デバッグしていると、 document.execCommand('copy')
の行まではいっていますが、copyイベントが発生していないような感じです。
更に追加
Windows 10のFirefoxでは動いてました。macOSのFirefoxで動きません。
5/5追加
確認した環境は次のとおりです。
macOS 10.12.6
Firefox 59.0.2
document.execCommand('copy');
を実行するとtrueが返ってきます。
また、
https://codepen.io/netsi1964/full/QbLLGW
のようなアドオンでないものはコピーできます。
他のアドオンでもcopyできませんでした。