Chromeの古くて新しい機能について

Chromeの古くて新しい機能について

どうも、さむらいです。
趣味の筋肉トレーニング熱が再燃し、一刻も早く帰るために仕事を頑張ってます。

さて今回はChromeの次のバージョンについてのお話。

HTMLソースをクリップボードにコピーしたい、Javascriptで

え、そんなこともできないんですか?さむらいさんの技術力ってそんなもんなんですか?
ショーケースさん、こんな人採用していいんですか?と思った方もこの広い世の中にはいるでしょう。

でもそんな人ほど知って欲しい。

WEBページのテキストは、JavaScriptでクリップボードにコピーできなかったんですよ。
Chrome Ver.42までは。割りと、本気で。

IEやFireFoxは実は、document.execCommand()でコピーできました。それがChrome Ver.43でもこの関数がサポートされるというのです!(FireFoxも今は制限かけてるのかな)

詳しくはこちらからご覧頂けます(英語)
http://updates.html5rocks.com/2015/04/cut-and-copy-commands

コピーしてどうするのか

コピーがメインの話じゃないんですよ。

つまりこのexecCommand()が使えることによって、ページ中のテキストを自由にプログラムで編集できる環境ができたということです。

例えば、execCommandには以下の引数を引き渡せます。

太い文字にする
ターゲット.execCommand(“bold”, false, null);

斜めの文字にする
ターゲット..execCommand(“italic”, false, null);

下線をつける
ターゲット..execCommand(“underline”, false, null);

コピーする
ターゲット..execCommand(“copy”, false, null);

一覧はこちらのページにあったりもします。
https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand

あれ、こうゆうページ上のテキストを装飾したりするのって、すでにGmailとかで実現されてるんじゃないの?なんでChromeに実装するんでしょう。

この関数をベースにできそうなこと

execCommandのターゲットはドキュメントの単位なので、ページの中の一部を編集するのには向かない様子です。なのでiframeの中のドキュメントを飾り付けするのに使うことになるでしょう。

とはいえ、今、Google ドキュメントで使っている技術のほとんどは、このexecCommandに置き換えればもっと実装が簡単になったりするんでしょうか。

実はこのブログも一旦 Google ドキュメント で記事を起こしているんですが、見た目や使い方は変わらないのに、近い将来使っている技術だけが差し替わっているかも知れないですね。

ユーザにはあまりメリットなさそうだけど、開発者には恩恵がありそうです。

複雑な処理を書かなくても、HTMLが装飾できるようになれば、レンダリングも軽くなるのかな?

今更。だけど何か目的が?

他のブラウザではすでに制限されているようなこの機能をChromeに導入することを決めたということは、上で書いた以上の何かを目論んでいるのかもしれませんね。

まだ先になるかもしれませんが、何が出てくるのか、今から楽しみです。
自分もChrome Ver.43がリリースされたら、いろいろと試してみたいと思います。

ちなみにSafariは使えません。相変わらずの頑固っぷり。
ということで、ではまた!

コメント