--> 猿でもわかる Greasemonkey
  1. 猿でもわかる Greasemonkey

    Yoshiori SHOJI(yoshiori@gmail.com)

    web(http://yoshiori.org/

  2. 自己紹介

    はじめまして?
    ヨシオリです
  3. JavaScript

    好きなのですが
    向こうは愛してくれません><
  4. JavaScript 片思い

  5. そんなヨシオリです。

  6. っていうか LT なのに

    30分未満って長くね?

  7. とりあえず

    前回以上にギリギリです!!
    この文章、今日の6:30とかに書いてます。
  8. ほらね?今書いてるでしょ?

  9. このスタイルを

    ウルトラスーパーアジャイル資料作成と名付け(ry

  10. すいません

    忙しかったんです!!!

  11. ☆付けるのがw

  12. とりあえず悔しいからチャットでUK虐めておいた

  13. こうなってないことを祈る

  14. アジェンダとか無く

    グダグダに行けるところまで 行きます!!
  15. Greasemonkey

    何?:Firefox の拡張
    読み方:グリモン
    出来ること:ユ−ザー定義スクリプトの実行
  16. ユ−ザー定義スクリプトの実行

  17. なにそれ?

  18. 食べれるの?

  19. やってみよう!!ここ

    (インストールしたら再読込してね)

  20. どぉ?

  21. つ・ま・り

  22. が実現できる!!

  23. (;´Д`)スバラスィ ...ハァハァ

  24. どうやんの?

  25. はじめかた

    まずは Greasemonkey をインストールしましょう
    mozdev.org - greasemonkey: index
    最初は色々遊んでみましょう みんなの公開してるスクリプトが集まっている場所があります。
    Userscripts.org

  26. お金の臭いしないよ

  27. 少しは興味出てきた?

  28. じゃぁ、自分で書いてみよう!!

  29. 基本書く物

    // ==UserScript==
    // @name        20070714_presentation
    // @namespace	http://yoshiori.org/
    // @include     */presentation/20070714/index.html
    // @version     1.0
    // ==/UserScript==
    (function(){
    	// ここに処理書く
    })();
  30. これだけw

  31. Greasemonkey 独特な話

  32. まず、スコープの話

    Greasemonkey の スクリプトはページのJavaScript とは
    違うグローバルスコープを持っています。
    じゃぁ、無名関数で囲む必要ないのかというと
    そういうわけではありません。
    複数の Greasemonkey が同時に動くことも良くあるので
    なるべくグローバルを汚さないようにしましょう。
    逆にページのスコープに触りたいときは
    unsafeWindow を使います。

  33. unsafeWindow

    unsafeWindows を使うとそのページのスコープのグローバルに
    アクセスできます。
    サイトによってはユーザースクリプト前提で
    fnuction を用意してくれているサイトもあります。
    そういった物にアクセスをするときは
    unsafeWindow を使えます。
    凄く便利です。

  34. LDR とか LDR とか LDR とか

  35. 次、Greasemonkey 独特の function

    GM_log(message, level)
    JavaScript コンソールに出力
    GM_setValue(name, value)
    値を保存できるよ!!(cookieみたいな物だと思いねぇ)
    GM_getValue(name, default)
    うえで保存した値を取得できるよ!!(cookieみたいな物だと思いねぇ)
    GM_xmlhttpRequest
    クロスドメインで使えるお
    GM_openInTab(url)
    新しいタブで開くよ
    GM_addStyle(css)
    css 書けるよ
  36. 他にもあるので、興味があればどーぞ → ここ

  37. 外部ライブラリ

    prototype.js とか script.aculo.us とか jQuery とか
    ユーザスクリプトでも使いたいよ!!( YUI もね)。
    そんな時はGM_xmlhttpRequest で持ってきて
    eval() しちゃえば使えます。
    さらに、一番最初だけ持ってきて
    GM_setValue(name, value) で保存しちゃって。
    次からはそっちから持ってきて eval() とかでおk。

  38. でも!!

  39. セキュリティ的に問題有りです!!

  40. そもそも Greasemonkey は危険をはらんでます。

  41. なので、難読化や外部スクリプトの読み込みはあまりお奨めしません!!

  42. どうしてもライブラリで使いたい部分があったら
    ライブラリのソースをみて参考にした方が良いです。
    凄く勉強になるし。

  43. で、書いたらドンドン公開しましょう!!

  44. 公開するのは良いことです!!

  45. みんな優しく教えてくれます!!

  46. なのでみんなもどんどんJavaScript書こう♪

  47. 突然ですが!!クイズです!!

  48. ちなみに 7/22 は誕生日です。
    (0x20 歳になります)

  49. プレゼント絶賛受付中です!!

  50. ご静聴ありがとうございました。