今日は、先週のバータイムで 従業員が話した「js/bookmarklet芸
およびその周辺」についてお伝えします。

話したこと

概要
  1. JavaScript / UserScript / Bookmarklet / UserStyle についての説明
  2. どんな風に作るのか / 社内外でどんなものを作ってきたか

モチベーション

「Webサイトの挙動・見た目 をいい感じに変えたい!!」

それぞれの違い
  • ● Bookmarklet: ブックマークから実行する感じのJS
    •  - ブックマークの中に直接JSが書かれている
  • ● UserScript: ページ上で自動実行されるJSをユーザー定義できるやつ
    •  - ただし、Tampermonkey などの拡張機能をブラウザに入れておく必要あり
  • ● UserStyle: ページに自動挿入されるCSSをユーザー定義できるやつ

作り方はどうなの
(a) UserScript

実装:

  • ● Tampermonkey などのプラグインを入れ、エディタを開いてスクリプトを書く
  • ● @match の後ろにそのUserScriptを実行するURLパターンを書く

共有:

  • ● 多くのUserScript拡張は .user.js な拡張子のページを開くと、「インストールしますか?」と尋ねてくる
  • ● ので、GitHubなりなんなりでそういう拡張子を付けて公開すればよい
(b) Bookmarklet

実装:

  • ● スクリプトの頭に javascript: をつけたURLを組み立てたらおしまい
  • undefinedを返すようにする(void関数やIIFEが簡単)
  • ● 余分な文字を消して一部文字をエスケープする

共有:

  • ● javascript:… なURLを教えてもらっても、ブックマークするのが地味に面倒
  • ● URLをテキストリンクで配置して、ブックマークしてもらうのが定番
  • ● Hatena::Let とかもあるけど、packerが古いので最近のJSは壊れる

 

作ったもの

画面録画ブックマークレット

  • ● ブラウザ上の操作を録画するブックマークレット
  • ● ブックマークレットをクリックして起動→録画→録画終了時にファイル保存ダイアログが出て 動画で保存可能
  • AnnoFabを操作した時のエラー報告で大活躍!

 


 

いかがでしたでしょうか。
社内では、技術が好きな社員がワイワイやりながら Techトークに花を咲かせることもあります。

会社のことが気になりましたら、ぜひ採用応募ページをご覧ください。

カテゴリー: ブログ