Chrome拡張機能をFirefoxに移植しています。クリップボードへの貼り付け機能があります。しかし、Firefoxでそれを行うことにはまだ運がありません。これが私のバックグラウンドスクリプトでやろうとしていることです:
const input = document.createElement('textarea');
input.style.position = 'fixed';
input.style.opacity = 0;
input.value = text;
document.body.appendChild(input);
input.select();
document.execCommand('copy');
logger(text);
document.body.removeChild(input);
これはChromeで正常に機能します。私が持っているclipboardWrite
私のマニフェストに許可を。Firefoxで動作しない理由について何かヒントはありますか?
バックグラウンドスクリプトからこれを実行しようとしていますが、機能しません。MDNページ:「ブラウザ固有の考慮事項」の「クリップボードとの対話」は、Firefoxの場合:
バックグラウンドページを除くすべての実行コンテキストで、このようにクリップボードに書き込むことができます。Firefoxでは、テキストを選択したり、背景ページの入力フィールドにフォーカスしたりすることはできないため、背景ページからクリップボードに書き込むことはできません。
クリップボードに書き込むには、他のコンテキストにいる必要があります。たとえば、コンテンツスクリプトを挿入したり、拡張機能のページにタブやウィンドウを開いたりすることができます。これをどのように選択するかは、拡張機能に対して既に持っている追加のアクセス許可(例tabs
)、現在開いているタブ(スクリプトを挿入できる開いているタブはありますか)、および許容できる視覚的影響によって異なります。 (たとえば、アクティブ化していないタブを簡単に開くと、ユーザーが認識できる場合と認識できない場合があります)。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加