Soumettre la recherche
Mettre en ligne
Try Jetpack
•
1 j'aime
•
1,145 vues
Hideaki Miyake
Suivre
Mozilla 勉強会@大阪での Jetpack についての発表資料
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 103
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Jetpack Workshop
Jetpack Workshop
Hideaki Miyake
G*workshop 2011/11/22 Geb+Betamax
G*workshop 2011/11/22 Geb+Betamax
Nobuhiro Sue
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
Jumpei Ogawa
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
Hiroaki KOBAYASHI
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
leverages_event
WordPress のキャッシュ機構
WordPress のキャッシュ機構
katanyan
swooleを試してみた
swooleを試してみた
Yukihiro Katsumi
Ci tutorial
Ci tutorial
Kazuaki Ueda
Recommandé
Jetpack Workshop
Jetpack Workshop
Hideaki Miyake
G*workshop 2011/11/22 Geb+Betamax
G*workshop 2011/11/22 Geb+Betamax
Nobuhiro Sue
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
Jumpei Ogawa
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
Hiroaki KOBAYASHI
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
leverages_event
WordPress のキャッシュ機構
WordPress のキャッシュ機構
katanyan
swooleを試してみた
swooleを試してみた
Yukihiro Katsumi
Ci tutorial
Ci tutorial
Kazuaki Ueda
CakePHP+Smartyハイブリッドによるラクラク開発
CakePHP+Smartyハイブリッドによるラクラク開発
Shinzo SAITO
WordPressと外部APIとの連携
WordPressと外部APIとの連携
Hidekazu Ishikawa
Jetpack datastore入門
Jetpack datastore入門
furusin
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
Yusuke Ando
Flask勉強会その1
Flask勉強会その1
Masato Kawamura
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo
Tsuyoshi Yamamoto
Jqm20120210
Jqm20120210
cmtomoda
WordPress関数の処理コストを考えよう
WordPress関数の処理コストを考えよう
Naoki Matsuda
Pyramid入門
Pyramid入門
Atsushi Odagiri
OSC京都2011
OSC京都2011
haganemetal
MT meets PHP
MT meets PHP
純生 野田
Google App Engine for Java
Google App Engine for Java
Takuya Tsuchida
Magento meet up Tokyo#1 for Design
Magento meet up Tokyo#1 for Design
Miho Nakano
ソーシャルアプリ勉強会(第一回資料)配布用
ソーシャルアプリ勉強会(第一回資料)配布用
Yatabe Terumasa
実用裏方 Perl 入門
実用裏方 Perl 入門
keroyonn
Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてる
jamadam
JavaScript/CSS 2015 Autumn
JavaScript/CSS 2015 Autumn
Koji Ishimoto
Django boodoo
Django boodoo
泰 増田
Isa Pro Detail Bi
Isa Pro Detail Bi
Peter Chan
Lenvatinib-suppresses-angiogenesis-through-the-inhibition-of-both-the-vegfr-a...
Lenvatinib-suppresses-angiogenesis-through-the-inhibition-of-both-the-vegfr-a...
Peertechz Publications
Drug Activity
Drug Activity
Robert Simons
2016-02 Toxicidades de los nuevos fármacos en cáncer renal
2016-02 Toxicidades de los nuevos fármacos en cáncer renal
Martín Lázaro
Contenu connexe
Tendances
CakePHP+Smartyハイブリッドによるラクラク開発
CakePHP+Smartyハイブリッドによるラクラク開発
Shinzo SAITO
WordPressと外部APIとの連携
WordPressと外部APIとの連携
Hidekazu Ishikawa
Jetpack datastore入門
Jetpack datastore入門
furusin
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
Yusuke Ando
Flask勉強会その1
Flask勉強会その1
Masato Kawamura
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo
Tsuyoshi Yamamoto
Jqm20120210
Jqm20120210
cmtomoda
WordPress関数の処理コストを考えよう
WordPress関数の処理コストを考えよう
Naoki Matsuda
Pyramid入門
Pyramid入門
Atsushi Odagiri
OSC京都2011
OSC京都2011
haganemetal
MT meets PHP
MT meets PHP
純生 野田
Google App Engine for Java
Google App Engine for Java
Takuya Tsuchida
Magento meet up Tokyo#1 for Design
Magento meet up Tokyo#1 for Design
Miho Nakano
ソーシャルアプリ勉強会(第一回資料)配布用
ソーシャルアプリ勉強会(第一回資料)配布用
Yatabe Terumasa
実用裏方 Perl 入門
実用裏方 Perl 入門
keroyonn
Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてる
jamadam
JavaScript/CSS 2015 Autumn
JavaScript/CSS 2015 Autumn
Koji Ishimoto
Django boodoo
Django boodoo
泰 増田
Tendances
(18)
CakePHP+Smartyハイブリッドによるラクラク開発
CakePHP+Smartyハイブリッドによるラクラク開発
WordPressと外部APIとの連携
WordPressと外部APIとの連携
Jetpack datastore入門
Jetpack datastore入門
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
Flask勉強会その1
Flask勉強会その1
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo
Grails-1.1を斬る!~Grails-1.1からのチーム開発~ in Tokyo
Jqm20120210
Jqm20120210
WordPress関数の処理コストを考えよう
WordPress関数の処理コストを考えよう
Pyramid入門
Pyramid入門
OSC京都2011
OSC京都2011
MT meets PHP
MT meets PHP
Google App Engine for Java
Google App Engine for Java
Magento meet up Tokyo#1 for Design
Magento meet up Tokyo#1 for Design
ソーシャルアプリ勉強会(第一回資料)配布用
ソーシャルアプリ勉強会(第一回資料)配布用
実用裏方 Perl 入門
実用裏方 Perl 入門
Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてる
JavaScript/CSS 2015 Autumn
JavaScript/CSS 2015 Autumn
Django boodoo
Django boodoo
En vedette
Isa Pro Detail Bi
Isa Pro Detail Bi
Peter Chan
Lenvatinib-suppresses-angiogenesis-through-the-inhibition-of-both-the-vegfr-a...
Lenvatinib-suppresses-angiogenesis-through-the-inhibition-of-both-the-vegfr-a...
Peertechz Publications
Drug Activity
Drug Activity
Robert Simons
2016-02 Toxicidades de los nuevos fármacos en cáncer renal
2016-02 Toxicidades de los nuevos fármacos en cáncer renal
Martín Lázaro
HEOR/ HTA/ PRO and Clinical Regulatory
HEOR/ HTA/ PRO and Clinical Regulatory
Robert Simons
免疫系統
免疫系統
a5589389
日外アソシエーツ データベースカンパニーの歩み
日外アソシエーツ データベースカンパニーの歩み
Japan Electronic Publishing Association
nakihiro_rengo2015
nakihiro_rengo2015
Akihiro Nohara
読書のススメ
読書のススメ
Takuya Okamoto
ASCO 2014 Highlights: Breast Cancer, Prostate Cancer; AI diagnosing
ASCO 2014 Highlights: Breast Cancer, Prostate Cancer; AI diagnosing
dianecleverley
中国における情報セキュリティの新たな免疫システムの作り方 by WooYun - CODE BLUE 2015
中国における情報セキュリティの新たな免疫システムの作り方 by WooYun - CODE BLUE 2015
CODE BLUE
岡山スマホアプリ開発もくもく会 #oso2016
岡山スマホアプリ開発もくもく会 #oso2016
Ikki Takahashi
HEOR and HTA for Market Access and Value Propositions
HEOR and HTA for Market Access and Value Propositions
Robert Simons
疑似免疫缺陷immunodeficiency (郭和昌醫師)
疑似免疫缺陷immunodeficiency (郭和昌醫師)
Ho-Chang Kuo (郭和昌 醫師)
20160210中央会計インターンンシップ:チーム7 バングラデシュの初等教育事業
20160210中央会計インターンンシップ:チーム7 バングラデシュの初等教育事業
KodaiSakamotoChuo
New immune system of information security from CHINA by WooYun - CODE BLUE 2015
New immune system of information security from CHINA by WooYun - CODE BLUE 2015
CODE BLUE
Vasculitis 2013
Vasculitis 2013
James Wei 魏正宗
調節性T細胞
調節性T細胞
Fast SiC Semiconductor Inc.
島岡要 広島大歯・免疫学授業(2012年12月4日)Leukocyte Trafficking in Health and Diseases
島岡要 広島大歯・免疫学授業(2012年12月4日)Leukocyte Trafficking in Health and Diseases
BostonIDI
En vedette
(19)
Isa Pro Detail Bi
Isa Pro Detail Bi
Lenvatinib-suppresses-angiogenesis-through-the-inhibition-of-both-the-vegfr-a...
Lenvatinib-suppresses-angiogenesis-through-the-inhibition-of-both-the-vegfr-a...
Drug Activity
Drug Activity
2016-02 Toxicidades de los nuevos fármacos en cáncer renal
2016-02 Toxicidades de los nuevos fármacos en cáncer renal
HEOR/ HTA/ PRO and Clinical Regulatory
HEOR/ HTA/ PRO and Clinical Regulatory
免疫系統
免疫系統
日外アソシエーツ データベースカンパニーの歩み
日外アソシエーツ データベースカンパニーの歩み
nakihiro_rengo2015
nakihiro_rengo2015
読書のススメ
読書のススメ
ASCO 2014 Highlights: Breast Cancer, Prostate Cancer; AI diagnosing
ASCO 2014 Highlights: Breast Cancer, Prostate Cancer; AI diagnosing
中国における情報セキュリティの新たな免疫システムの作り方 by WooYun - CODE BLUE 2015
中国における情報セキュリティの新たな免疫システムの作り方 by WooYun - CODE BLUE 2015
岡山スマホアプリ開発もくもく会 #oso2016
岡山スマホアプリ開発もくもく会 #oso2016
HEOR and HTA for Market Access and Value Propositions
HEOR and HTA for Market Access and Value Propositions
疑似免疫缺陷immunodeficiency (郭和昌醫師)
疑似免疫缺陷immunodeficiency (郭和昌醫師)
20160210中央会計インターンンシップ:チーム7 バングラデシュの初等教育事業
20160210中央会計インターンンシップ:チーム7 バングラデシュの初等教育事業
New immune system of information security from CHINA by WooYun - CODE BLUE 2015
New immune system of information security from CHINA by WooYun - CODE BLUE 2015
Vasculitis 2013
Vasculitis 2013
調節性T細胞
調節性T細胞
島岡要 広島大歯・免疫学授業(2012年12月4日)Leukocyte Trafficking in Health and Diseases
島岡要 広島大歯・免疫学授業(2012年12月4日)Leukocyte Trafficking in Health and Diseases
Similaire à Try Jetpack
EC-CUBEプラグイン講義
EC-CUBEプラグイン講義
ria1201
jQuery超入門編
jQuery超入門編
Yasuhito Yabe
環境構築から始めるDjangoチュートリアル
環境構築から始めるDjangoチュートリアル
sakihohoribe
Chrome Extensionsの基本とデザインパターン
Chrome Extensionsの基本とデザインパターン
Yoichiro Tanaka
Node.js - JavaScript Thread Programming
Node.js - JavaScript Thread Programming
takesako
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)
Fujio Kojima
20130924 Picomon CRH勉強会
20130924 Picomon CRH勉強会
Yukihiro Kitazawa
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜
Sotaro Omura
WordPress widget api
WordPress widget api
Takami Kazuya
Apache Torqueについて
Apache Torqueについて
tako pons
emc++ chapter32
emc++ chapter32
Tatsuki SHIMIZU
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
Y Watanabe
Visualforce + jQuery
Visualforce + jQuery
Salesforce Developers Japan
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
Yuki Takei
test
test
a1yama1123
jQuery勉強会#4
jQuery勉強会#4
Ryo Maruyama
FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -
Akio Katayama
FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -
Akio Katayama
20091030cakephphandson 01
20091030cakephphandson 01
Yusuke Ando
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
linzhixing
Similaire à Try Jetpack
(20)
EC-CUBEプラグイン講義
EC-CUBEプラグイン講義
jQuery超入門編
jQuery超入門編
環境構築から始めるDjangoチュートリアル
環境構築から始めるDjangoチュートリアル
Chrome Extensionsの基本とデザインパターン
Chrome Extensionsの基本とデザインパターン
Node.js - JavaScript Thread Programming
Node.js - JavaScript Thread Programming
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)
20130924 Picomon CRH勉強会
20130924 Picomon CRH勉強会
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜
WordPress widget api
WordPress widget api
Apache Torqueについて
Apache Torqueについて
emc++ chapter32
emc++ chapter32
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
Visualforce + jQuery
Visualforce + jQuery
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
test
test
jQuery勉強会#4
jQuery勉強会#4
FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -
20091030cakephphandson 01
20091030cakephphandson 01
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Dernier
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
Dernier
(8)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Try Jetpack
1.
JetpackでFirefox
を拡張しよう 2010/02/20 mollifier http://d.hatena.ne.jp/mollifier/
2.
id:mollifier
3.
今日は Jetpack で Firefox
拡張が書けるよ うになって帰りましょう
4.
Jetpack とは 拡張を書く:基本編 拡張を書く:応用編 参考ページ
5.
Jetpack とは 拡張を書く:基本編 拡張を書く:応用編 参考ページ
6.
Firefox の 拡張機能(Addon) の一種
7.
追加で「拡張機能」 をインストールして 実行できるようにな る
8.
Jetpack 用の 拡張の例
9.
Jet Lagged http://jetpackgallery.moz illalabs.com/jetpacks/95 インストールページ
10.
Jet Lagged 選択部分を Google 翻訳で 翻訳する
11.
Google It! http://jetpackgallery.mozil lalabs.com/jetpacks/231 インストールページ
12.
Google It! 選択した単語を Google で 検索する
13.
TabGroup
Organizer http://jetpackgallery.mozill alabs.com/jetpacks/164 インストールページ
14.
TabGroup Organizer 今開いているタブ を保存して、 後から開き直せる
15.
このような 「Jetpack 用の 拡張機能」を Feature と呼ぶ
16.
Featureの特徴
17.
jQuery を使って サクサク書ける
18.
Firefox の UI
を 操作できる
19.
ステータスバーに ボタンを追加 右クリックメニューに 追加
20.
それでは Jetpack Feature の書き方 を見ていきましょう
21.
Jetpack とは 拡張を書く:基本編 拡張を書く:応用編 参考ページ
22.
Jetpack Feature の基本的な書き方を 押さえる
23.
その前に開発環境を そろえる
24.
必要なもの
Firefox Jetpack 本体 Firebug 好きなエディタ
25.
すぐに準備できる。 うれしい。
26.
1. Hello World
27.
jetpack.tabs.onReady(function() {
console.log("Hello World!"); });
28.
インストール用に HTML ページが必要
29.
<html> <head>
<!-- ここが大事 --> <link rel="jetpack" href="hello.js" name="Hello Jetpack" /> <title>Hello World</title> </head> <!-- 略 ... -->
30.
<link rel="jetpack"
href="hello.js" name="Hello Jetpack" /> href="Featureのパス" Web上に置いてある場合は http:// ... 形式で指定する name="Feature 名"
31.
jetpack.tabs.onReady(
// ここに関数を書くと // 新しいタブを開いた // ときに呼び出される );
32.
jetpack.tabs.onReady(
// Firebug の // コンソールに // 出力される console.log( "Hello World!"); );
33.
2. Hello Jetpack
in Statusbar
34.
ステータスバーに パネルを追加する例
35.
jetpack.statusBar.append({ html:
"<em>Hello</em>", width: 45, });
36.
HTML を直接書ける jetpack.statusBar.append({
html: "<em>Hello</em>", width: 45, });
37.
クリックしたときの 何か動くようにする
38.
jetpack.statusBar.append({ html:
"Click", width: 45, onReady: function(widget){ $(widget).click(function() { jetpack.notifications.show( "Hello Statusbar"); }); } });
39.
onReady: function(widget){
$(widget).click(function() { // 何か処理 }); } onReady : 新しいパネルが作られた 際のコールバック widget : パネル要素 $ : jQuery の $
40.
3. Disable Hatena Keyword
41.
Greasemonkey っぽく動作する例
42.
jetpack.future.import("pageMods"); function callback(doc) {
$("a.keyword", doc).each(function() { $(this).replaceWith($(this).html()); }); } var options = {}; options.matches = [ "http://d.hatena.ne.jp/*" ]; jetpack.pageMods.add(callback, options);
43.
長いので分割
44.
ポイント 1
45.
jetpack.future.import( "pageMods"); この1行を書いておくと pageMods
という機能が有 効になる
46.
ポイント 2
47.
function callback(doc) {
// doc が読み込んだページの // document オブジェクト $("a.keyword", doc).each( function() { // 何か処理 } ); }
48.
よくある書き方 function callback(doc) {
// 引数が一つだけ $("a.keyword").each( function() { // 何か処理 } ); }
49.
document でドキュメン トオブジェクトが参照で きない。 なので、$(cssセレクタ) という書き方ではどこか ら要素を探すか決まらな い。
50.
function callback(doc) {
// 第二引数で // どこから要素を探すか // 明示的に指定する $("a.keyword", doc).each( function() { // 何か処理 } ); }
51.
4. Info
52.
Ajaxの例
53.
jetpack.statusBar.append({ html:
"<button>info</button>", width: 60, onReady: function(widget) { $(widget).click(function() { var word = jetpack.tabs.focused. contentWindow.getSelection(); $.get("http://www.google.co.jp/search", {q: word}, function(data) { var info = $(data, widget). find("#resultStats").text(); jetpack.notifications.show(info); }); }); } });
54.
$.get(
"http://www.google.co.jp/search", {q: word}, function(data) { // 受信した後の処理 } ); 普通に jQuery の $.get が使える
55.
はまりやすい ポイント
56.
onReady: function(widget) {
// 略 ... $.get( "http://www.google.co.jp/search", {q: word}, function(data) { var info = $(data, widget). find("#resultStats").text(); コンテキストを指定する 必要がある。
57.
普通の jQuery コードでは var
info = $(data); これで内部的に document.createElement が呼び出される。
58.
Jetpack Feature では document
で Document オブジェクトが 参照できない
59.
onReady: function(widget) {
// 略 ... $.get( function(data) { var info = $(data, widget). find("#resultStats").text(); widget が追加したパネルの Document オブジェクトになっ ているので、うまくいく。
60.
Jetpack とは 拡張を書く:基本編 拡張を書く:応用編 参考ページ
61.
基本編の内容の 組み合わせで けっこう色々なことが できる
62.
もう一工夫するための Jetpack API の紹介
63.
1. 右クリック
メニュー
64.
まずは簡単な例
65.
選択したら コンソールログに 出力する
66.
jetpack.future.import("menu"); jetpack.menu.context.page.add({ label:
"simple menu", command: function() { console.log("simple menu"); } });
67.
メニューを使うために 必要な1行 jetpack.future.import("menu");
68.
右クリックメニューに 追加する jetpack.menu.context.page.add({
// 追加するメニューの内容 });
69.
jetpack.menu.context.page.add({ //
メニューに表示する文言 label: "simple menu", // メニューを選択したときの // コールバック関数 command: function() { console.log("simple menu"); } });
70.
これをふまえて
71.
右クリックで選ん だ要素を消す Feature を作る
72.
jetpack.future.import("menu"); jetpack.menu.context.page.add( function(c) {
return { label: "hide <" + c.node.nodeName + ">", command: function() { $(c.node).fadeOut("fast"); } }; });
73.
jetpack.menu.context.page.add(
function(c) { // この関数内で新しい // メニューの内容を作って返す。 // c が右クリックした対象。 } );
74.
function(c) {
return { // c.node で右クリックした対象の // DOM node が参照できる label: "hide <" + c.node.nodeName + ">", command: function() { $(c.node).fadeOut("fast"); } }; }
75.
ソースはここにあ る http://jetpackgallery.mozilla labs.com/jetpacks/337 リンク
76.
2. 設定画面
77.
Feature の動作を ユーザがカスタマ イズできるように したい
78.
var manifest =
{ settings: [ { name: "message", type: "text", label: "Name", default: "" } ] }; jetpack.future.import( "storage.settings");
79.
// 設定項目を定義する var manifest
= { settings: [ // ここに設定項目を書く { name: "message", type: "text", label: "Name", default: "" } ] };
80.
var manifest =
{ settings: [ // ... ] }; // manifest を定義した後に // import する jetpack.future.import( "storage.settings");
81.
// これで参照できる var name
= jetpack.storage. settings.message; // settings: [ // { name: "message", // この message に対応
82.
これをふまえて
83.
Twitter の Web 画面で
Enter を 押しただけでつぶ やく Feature を 作る
84.
jetpack.future.import("pageMods"); var manifest =
{ settings: [ { name: "needCtrlKey", type: "boolean", label: "Ctrl key", default: false }, { name: "needAltKey", type: "boolean", label: "Alt key", default: false } ] }; jetpack.future.import("storage.settings"); function isTweetKey(e) { if (jetpack.storage.settings.needCtrlKey && ! e.ctrlKey) { return false; } if (jetpack.storage.settings.needAltKey && ! e.altKey) { return false; } // 13 : Enter key code return e.keyCode === 13; } // ... 続く
85.
ソースはここにあ る http://jetpackgallery.mozilla labs.com/jetpacks/341 リンク
86.
2つ設定項目をつくる var manifest =
{ settings: [ { name: "needCtrlKey", type: "boolean", label: "Ctrl key", default: false }, { name: "needAltKey", type: "boolean", label: "Alt key", default: false } ] }; jetpack.future.import("storage.settings");
87.
Twitter ショートカット キーだったらつぶやく function callback(doc)
{ var textBox = $("#status", doc); textBox.keydown(function(e) { if (isTweetKey(e) && textBox.value !== "") { $("#update-submit", doc).click(); } }); }
88.
押したキーの種類を 判別する function isTweetKey(e) {
if (jetpack.storage.settings.needCtrlKey && ! e.ctrlKey) { return false; } if (jetpack.storage.settings.needAltKey && ! e.altKey) { return false; } // 13 : Enter key code return e.keyCode === 13; }
89.
Jetpack とは 拡張を書く:基本編 拡張を書く:応用編 参考ページ
90.
英語ページ
91.
MDC APIリファレンス かなり不十分 ... https://developer.mozilla.or g/en/Jetpack#API リンク
92.
JEPs 新しい機能についてのド キュメント https://wiki.mozilla.org/Lab s/Jetpack/JEPs リンク
93.
Jetpack Gallery Jetpack Feature
がいっ ぱいある http://jetpackgallery.mozill alabs.com/ リンク
94.
Jetpack ソースコード hg clone
http://hg.mozilla.org/labs/ jetpack/ jetpack-src でソースコードを取得 http://hg.mozilla.org/labs/j etpack/ リンク
95.
日本語ページ
96.
MDC API リファレンス 日本語版 https://developer.mozilla.or g/ja/Jetpack#API リンク
97.
modest Jetpack ページ 参考になる https://dev.mozilla.jp/jetpa ck/ リンク
98.
APIリファレンス 日本語訳 modest 版 https://dev.mozilla.jp/jetpa ck/api/ リンク
99.
参考になるブログ Jetpack カテゴリを チェック http://d.hatena.ne.jp/con_ma me/ リンク
100.
ローカルの Jetpack Feature ファイルを インストールする
Feature http://d.hatena.ne.jp/terama ko/20091201 リンク
101.
僕のブログ Jetpack カテゴリーを チェック http://d.hatena.ne.jp/mollif ier/ リンク
102.
みなさんも Jetpack に 挑戦してみて 下さい
103.
ありがとう ございました
Télécharger maintenant