以下の内容はhttps://dupont.hatenablog.jp/entry/2025/02/27/005958より取得しました。


ChromeとEdgeでURL欄からコピーしたURLテキストの持ち方が違うという話

今回はGoogle ChromeとMicrosoft EdgeでURL欄からURLをコピーした時の挙動の違いを紹介する短いネタです。

例えば MySQL のサイトを開いて、ブラウザのURL欄からそのURLをコピーしたときにクリップボードに入るものを比較してみます。

Google Chromeの場合

  • 0
    • type text/plain
    • value https://www.mysql.com/

これだけです。 当然貼り付け時もhttps://www.mysql.com/だけが貼り付きます。

Microsoft Edgeの場合

  • 0
    • type text/plain
    • value https://www.mysql.com/
  • 1
    • type text/html
    • value <a href="https://www.mysql.com/">MySQL</a>

となっています。 (aタグのテキスト部分はページのtitle要素が拾われます。)

貼り付け時の動作

  • 書式貼り付けが可能なUI(Office全般など)に貼り付けた場合、Edgeからの貼り付けの場合「MySQL」の文字に https://www.mysql.com/ へのリンクが張られます。
  • 書式貼り付けできないUIの場合はtext/plainの方の https://www.mysql.com/ の文字列が張り付きます。
    • ブラウザのURL欄は書式貼り付け不可なので、URLのみが張り付くというわけです。

アレンジ

さて、これを踏まえてMarkdownエディタをカスタマイズするのも面白いです。

  • 貼り付けイベントを検知
  • それが<a href="xxxx">yyyy</a>の形式のテキストだったら「Markdown書式で貼り付けるか」をダイアログで確認する。
  • 「OK」だったら正規表現で構文解析をしてhref属性の値とテキストをMarkdownの書式に配置しなおしてカーソル位置に挿入する。貼り付けイベント自体は取り消してしまう。
  • 「キャンセル」だったら加工せずに貼り付ける。

ビジネスチャットアプリのMattermostクライアントが同等の機能をすでに実装してました。
私もひとつ前に紹介した「タスク管理ツール」に実装してみました。
SharePointOnlineのURLがアホみたいに長いのですが、これで気兼ねなくペタペタできます。
dupont.hatenablog.jp




以上の内容はhttps://dupont.hatenablog.jp/entry/2025/02/27/005958より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14