カテゴリー
ツール

Link to Text Fragment – Googleによるウェブページの任意の場所をリンクできるブラウザ拡張

新しいLink to Text Fragment Google社自身によってリリースされた、ウェブサイトの好きな箇所をURL化して共有できるChrome拡張です。

拡張をインストールした状態でページ上のテキストを選択し、右クリックメニューを出すと、Copy Link to Selected Text (選択されたテキストへのリンクをコピー)というメニューが増えています。

ここでクリップボードに取得されたURLを Chrome ブラウザ上で開いてみると、

先ほどリンクを作成したwebページが開かれた上で、選択していた部分が黄色くハイライトされ、ページもそのハイライトされた部分までスクロールした状態で開かれます。

選択するテキストが短すぎると、URLが作れない、というエラーが出ます。

利用シーン

これまで、他人が作ったウェブサイトのURLを他の人と共有することはできても「この特定の部分を見せたい」というのは難しかったと思います。やるとすればページを開いた後にページ内検索で”○○○”を探して、とかでしょうか。

最新のブラウザとこの拡張を使えば、ページの特定の箇所をはっきりと示して共有できるため、長いページのある特定の箇所を素早く見てもらいたい、といった作業が効率化されるでしょう。

受ける側はブラウザが最新のバージョンであればこの拡張は不要です。Chrome を随時アップデートしている相手なら問題ないでしょう。

仕組み

Chrome バージョン80 から使えるようになった、Text URL Fragments の機能を使ったものだそうです。

コピーされたURLの後ろに、選択した文字列を含む文字列が追加されていますね。

日頃、チャットツールや社内のグループウェアなどでネット上のウェブページを紹介することが多い人などにとって、紹介の質が上がる良いツールなのではないかと思いました。

via The Verge

カテゴリー
ツール

JSONCrush – JSONをURIに圧縮して載せるためのライブラリ

KilledByAPixel/JSONCrush は、JSONをURLに載せやすい形に変換するライブラリです。

JSONCrushのデモサイト。JSON形式のデータを左上に入力すると、それをテキストとして圧縮し(↓)、さらにURIとして使える文字に縁故度しています(→)。

今回入れてみたJSONでは、そのままURIエンコードした場合に比べて52%、約半分のサイズとなりました。

URLにユーザーが入力した結果のJSONデータをなるべく小さくして載せるというのがライブラリの目的です。URLに再現のためのパラメータが全部載っていれば、結果をブックマークしてもらえばいつでも同じパラメータのページが再現できます。サーバーサイドでいろいろ面倒な処理をして覚えておく必要がありません。

そのままURLEncodeする手もあるけど、URLのサイズ上限(2000バイトちょっと)に引っ掛かるのは避けたい、と。HTTPパラメータとして個別に受け取ればもっとコンパクトにできるのでしょうけど、JSONのまま渡せるのは場合によっては楽なのでしょう。作り手側に楽という意味ですが。

使ってるJSCrush ライブラリが変換部分を担っていて、これは特定の文字列内でテキストをエンコードしてくれるもののようです。JSCrushのデモサイトはこちら。

JSCrush は minify したものしかないらしく、
その動作を解析してる人がいました。この解説によれば、JSCrushライブラリは、1KbyteのJavaScriptで何ができるか、というコードゴルフコンテストの2012年の作品で使われたものだそうです。

via Hacker News

カテゴリー
プライバシー

Google検索結果のアドレスを貼り付けると「一回前の検索ワード」が漏れる事がある

ジェレミー・ルービンさんがブログで、グーグル検索した結果を共有した際に一つ前に調べたキーワードが共有先に漏れる場合があると伝えています

再現手順はこんな感じ。

  1. ChromeやFirefoxブラウザのアドレスバーで「最初の検索」で検索
  2. 検索結果のページの検索ボックスで「次の検索」で検索
  3. アドレスバーのURLの中に、「最初の検索」と「次の検索」の両方が入っている

検索キーワードが日本語などの場合は、URL中の表示はエンコードされてそのままでは日本語として読めない場合がありますが、これは変換して戻そうと思えば簡単にできます。

google-search-leaks-previous-keywords

アドレスバーに、「最初の検索」が出ています。

google-search-leaks-previous-keywords-enlarged

簡単に確かめたいならアルファベットや数字だけで上記の再現手順を試してもいいでしょう。URLに出てきた一番目の検索ワードをそのまま目視できます。

このアドレスをメール等にコピー&ペーストして送ってしまうと、「2番目の検索」で検索した結果を送ったつもりが、「最初の検索」という文字列もURLの中に含めて送ってしまうということです。

Internet Explorer でも、アドオンでアドレスバーの検索エンジンをGoogleにすると同じことになりますね。デフォルトのBing検索ではBingに行くので当然再現しませんが。

問題点と影響

ルービン氏の場合は、友人から送られてきた検索結果のアドレスを見てこれに気づいたようですが、その時にURLに含まれていた前の検索ワードは、その友人が文章中に書いているとても一般的な単語だったということ。その友人は、そのとても基本的な単語の意味を調べないとその文章が書けなかったのかもしれない、とルービン氏は推測し、このように関係のない検索ワードが他人に漏れてしまうのは恥ずかしい場合もあるだろう、と述べています。

簡単な単語の意味を調べてたぐらいならまだしも、検索してるのが人に知られたらもっと恥ずかしいキーワードというのもあるでしょうね。

あまりひどいものはご紹介できないのですが、これは2chから見つけたもの

google-search-kindaichi

「金田一一」を検索した同じページで、続けて「金田一二三男」を検索し、それを掲示板に貼り付けたんですね。まあこのケースでは漏れたとしても害はありません。

これまでグーグル検索結果のページのURLを掲示板等に貼り付けたり、メールで他の人に送ったりした人は、もしわかるなら送ったURLに一つ前の検索ワードが含まれていないか、含まれていたとしたらバレて困るキーワードではないか、確認したほうがいいかもしれません。といっても、確認して困っても削除・撤回できない場合も多そうですけど。

完全ではないですが、たとえばGoogle検索で “www.google.co.jp/search?q=” を含めて検索すると、検索結果を貼り付けたページが見つかりますね。site: で限定すれば自分のブログを確認したりもできます。

検索結果を共有する機会、となると、ツイッターやFacebook の過去の書き込み、チャットサービスのログ、などもあるでしょう。

ルービン氏はこの問題についてグーグル社にも伝えたそうですが、「仕様です」「修正しません」という回答を受けたそうです。自分で気をつけないといけないようですね。

via Hacker News