Right-Click to Calendar - Chrome ウェブストア
- 正規表現で日付・時刻のいずれも抽出できなかった場合、選択したテキストがタイトルに設定されるようにしました。
- 選択したテキストがイベント設定画面に送信できない場合がある不具合を修正しました。
不具合のほう、報告は受けたけど自分の環境で全く再現できずに放置してたのですが、やっと再現したので修正しました。事象発生時は、コンテキストメニュー押下時に本来は1回しか発火しないchrome.tabs.sendMessage
がなぜか複数回発火するのですが、発火後のレスポンスにテキストを含んでる場合とそうでない場合があるようです。テキストを含んでない場合のレスポンスは破棄するように修正しました。なんでこんな挙動になるかは調査しないとわからないです。デグレってたら教えてください。
2019/06/03追記
本来は1回しか発火しない
chrome.tabs.sendMessage
がなぜか複数回発火する
"all_frames": true
を設定した場合、コンテキストメニューを呼び出したwindowだけではなく、ページ内に存在するiframe全員がイベントの発火をListenするのが原因でした。完全に仕様勘違いしてましたね…。(content_scriptが全iframeに挿入されるのは理解していたが、全員がイベント発火の通知を受け取るとは思ってなかった。)
Content Scripts - Google Chrome
合わせて、クロスオリジン対応していないページはgetSelection()するとエラーになるので、getSelection()が取得できない場合は素直にコンテキストメニューで選択中のテキストを設定するように修正しました。修正版はリリース済みです。