目的
Google Docs上で新しいタブを開き、クリップボードの内容を自動でペーストするスクリプトです。
機能概要
- Google Docs (ドキュメント) の画面上にフローティングボタンを配置します。
- ボタンのラベルは「Paste in new tab」です。
- ユーザーはボタンを自由にドラッグして移動でき、その位置は記憶されます。
- ボタンを押下すると、内部的にカスタムイベント(例:
EmulateDocsPaste)を発火します。 - カスタムイベントに反応して、
Shift+F11をエミュレートし、500msの待機後にペースト操作をエミュレートします。 - ペースト操作は、設定によって「
Ctrl+Vのキーボードイベント送信」、または「『編集』メニューからの『貼り付け』項目クリック」を選択可能です。
対象サイト
https://docs.google.com/document/*
イベントの依存関係(連携スクリプト)
このスクリプトは単体で動作し、他のスクリプトとのイベント連携はありません。
- 📤 送信先 (使われる側): -
- 📥 受信元 (使う側): -
更新履歴
- v0.1.12: メニューからのペースト方式が機能するようになったため、不要となった「メニュー/Ctrl+V」の切り替え用ドロップダウンリストUI、および旧Ctrl+Vイベントシミュレーションコードを削除しUIをシンプル化。
- v0.1.11: メニュー項目のイベント発行時に、画面上の正確な座標(
clientX,clientY)を付与。これによりGoogle Docsが正しいクリックとしてペーストを認識するよう修正。 - v0.1.10: 「貼り付け」メニュー項目実行時にディスパッチするイベントを、より人間に近い
mouseover→mousedown→mouseup→clickの順序に改修し、メニューが閉じる動作もエミュレートするよう微調整。 - v0.1.9: 「貼り付け」メニュー項目をクリックする代わりに、
focus()してEnterキーのエミュレートに変更し、Google Docs側でクリックイベントが不発になる問題に対応。 - v0.1.8:
vの一文字だけでマッチしてしまう判定ロジックを修正し、「Hrvatski」等の意図しない言語メニューを誤認識する不具合を解消。 - v0.1.7: メニューを開く処理で、
clickイベントおよびfocus()を追加し、編集メニューの展開をより確実に実行できるように修正。 - v0.1.6: UIEventInit の
view: windowプロパティによるTypeErrorを修正。 - v0.1.5: ペースト処理開始時、および要素探索ループ(メニューの出現待ちなど)のデバッグ用コマンド(console.log)を追加。
- v0.1.4: ローカル環境の
127.0.0.1などのガードコードを削除。