SlideShare a Scribd company logo
1 of 13
Download to read offline
chrome extensionを
作ってみよう
資料の構成
1. chrome extensionとは
2. ファイルの構成
3. 簡単なものを作ってみよう(content scriptでalert)
4. 用語説明
5. chrome extensionの構成・概念
6. ちょっといいやつ作ってみよう(background page使って
popup表示)
chrome extensionとは
• 高機能なブックマークレット
• html, css, jsを使って、ページの解析などができます
• chrome APIを用いて、ブラウザの設定を変更するAPIもあります
!
• 英語: https://developer.chrome.com/extensions/index
• 日本語: http://dev.screw-axis.com/doc/chrome_extensions/
ファイルの構成
• extension用フォルダを作って、manifest.jsonとその他
ファイルを配置する
• manifest.json
• 設定ファイル。どのJS読み込む?のほか、ファイルを公
開するときに必要な、アイコン・名前・説明などを記載
• jsファイル
• icon画像
{
"manifest_version":2,
"name": "Seo Previewer",
"version": "1.3",
"description": "Show Seo Tags",
"content_scripts": [
{
"matches": ["*://*/*"],
"js": ["jquery-1.10.2.min.js", "contentScript.js"]
}
]
}
用語説明
• content script
• まさにブックマークレット。閲覧しているページ
に勝手に要素を突っ込んでJSを動かす。例えば
content script内でconsole.logするとブラウザ
のdebugツール内のコンソールタブにメッセージ
がでる
簡単なものを作ってみよう
• content scriptを使ってconsole.logを出してみる
content scriptだけではでき
ないこと
• content scriptは閲覧しているページへの埋め込み
なので、ページの挙動を壊してしまう
• ブックマークレット以上のことはできない
backgroundページ
• 通信を司る非表示のページのこと
• content scriptに書くとページに読み込んじゃうので、ページ
を破壊することが多々
• popupは完全に別ページ
• content scriptでとったものを、popupに表示などやりたけ
れば、その通信を行う必要があるので、それをbackground
pageに記述する
• 他にもextension同士の通信などもできるらしい
{
"manifest_version":2,
"name": "Seo Previewer",
"version": "1.3",
"description": "Show Seo Tags",
"content_scripts": [
{
"matches": ["*://*/*"],
"js": ["jquery-1.10.2.min.js", "contentScript.js"]
}
],
"background": {
"scripts": ["jquery-1.10.2.min.js", "eventPage.js"],
"persistent": false
},
"browser_action": {
"default_icon": "favicon.png"
}
}
用語説明
• content script
• まさにブックマークレット。閲覧しているページに勝手に要素を突っ込んでJSを動かす。
例えばcontent script内でconsole.logするとブラウザのdebugツール内のコンソールタ
ブにメッセージがでる
• browser action
• アドレスバーの右に出てくるアイコンのやつ
• popup
• browser actionをクリックしたら出てくるバルーン
• background page
• content scriptとpopup、他extensionなど通信を司る。railsのcontrollerみたいなもん
background pageを使った
extensionを作ってみよう
• content scriptで取得した要素をpopupに表示してみる
• chrome.browserAction.setPopup({popup:
show.html"})
• chrome.tabs.sendMessage(tabs[0].id, {model:
"SeoPreview", method: find }, callback)
!
• https://developer.chrome.com/extensions/api_index
公開する
• https://chrome.google.com/webstore/detail/
seo-previewer/
ehddoakgfehpkahfcnknofmimkhcomln?hl=ja
!
• $5かかる
• 更新すると、利用者のパッケージも勝手に更新され
る

More Related Content

What's hot

eZ Publish 2012年5月勉強会 - サイトアクセス
eZ Publish 2012年5月勉強会 - サイトアクセスeZ Publish 2012年5月勉強会 - サイトアクセス
eZ Publish 2012年5月勉強会 - サイトアクセスericsagnes
 
CMSとして選択肢のひとつ「Movable Type」をおすすめする理由
CMSとして選択肢のひとつ「Movable Type」をおすすめする理由CMSとして選択肢のひとつ「Movable Type」をおすすめする理由
CMSとして選択肢のひとつ「Movable Type」をおすすめする理由Masashi Hisatsugu
 
MovableTypeとWordPressの比較
MovableTypeとWordPressの比較MovableTypeとWordPressの比較
MovableTypeとWordPressの比較Hirofumi Nakahashi
 
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」ericsagnes
 
101210 supreme web adobe seminar Nagoya
101210 supreme web adobe seminar Nagoya101210 supreme web adobe seminar Nagoya
101210 supreme web adobe seminar Nagoyatamotsu toyoda
 
WordOnsen in 福島飯坂 2014 応募時の質問と回答
WordOnsen in 福島飯坂 2014 応募時の質問と回答WordOnsen in 福島飯坂 2014 応募時の質問と回答
WordOnsen in 福島飯坂 2014 応募時の質問と回答Kazue Igarashi
 
第一回スライド
第一回スライド第一回スライド
第一回スライド洋介 池田
 
App007 ほしい機能を作ろ
App007 ほしい機能を作ろApp007 ほしい機能を作ろ
App007 ほしい機能を作ろTech Summit 2016
 
App007 ほしい機能を作ろ
App007 ほしい機能を作ろApp007 ほしい機能を作ろ
App007 ほしい機能を作ろTech Summit 2016
 
eZ publish勉強会2013年9月「ez publish効率入門」
eZ publish勉強会2013年9月「ez publish効率入門」eZ publish勉強会2013年9月「ez publish効率入門」
eZ publish勉強会2013年9月「ez publish効率入門」ericsagnes
 
Edge と IE、来年からの Web 制作
Edge と IE、来年からの Web 制作Edge と IE、来年からの Web 制作
Edge と IE、来年からの Web 制作Osamu Monoe
 
Cognos reportauthoring c1_welcomeheader
Cognos reportauthoring c1_welcomeheaderCognos reportauthoring c1_welcomeheader
Cognos reportauthoring c1_welcomeheaderShinsuke Yamamoto
 
Adobe scoutの紹介
Adobe scoutの紹介Adobe scoutの紹介
Adobe scoutの紹介AimingStudy
 
WordPress 私はこんな設定をしています【WordBench Nagoya 9月勉強会】
WordPress 私はこんな設定をしています【WordBench Nagoya 9月勉強会】WordPress 私はこんな設定をしています【WordBench Nagoya 9月勉強会】
WordPress 私はこんな設定をしています【WordBench Nagoya 9月勉強会】masaya yamao
 
Windows 10 のあたらしい Web ブラウザーの F12 開発者ツール
Windows 10 のあたらしい Web ブラウザーの F12 開発者ツールWindows 10 のあたらしい Web ブラウザーの F12 開発者ツール
Windows 10 のあたらしい Web ブラウザーの F12 開発者ツールOsamu Monoe
 
酒と泪と Edge と IE
酒と泪と Edge と IE酒と泪と Edge と IE
酒と泪と Edge と IEOsamu Monoe
 
【Wordpress】LightBox風jQueryを使ってポップアップ上でカスタムフィールドを出力。
【Wordpress】LightBox風jQueryを使ってポップアップ上でカスタムフィールドを出力。【Wordpress】LightBox風jQueryを使ってポップアップ上でカスタムフィールドを出力。
【Wordpress】LightBox風jQueryを使ってポップアップ上でカスタムフィールドを出力。Kazuki Akiyama
 
FC2からWordPressへ引越し
FC2からWordPressへ引越しFC2からWordPressへ引越し
FC2からWordPressへ引越しsystemthinkingdev
 

What's hot (18)

eZ Publish 2012年5月勉強会 - サイトアクセス
eZ Publish 2012年5月勉強会 - サイトアクセスeZ Publish 2012年5月勉強会 - サイトアクセス
eZ Publish 2012年5月勉強会 - サイトアクセス
 
CMSとして選択肢のひとつ「Movable Type」をおすすめする理由
CMSとして選択肢のひとつ「Movable Type」をおすすめする理由CMSとして選択肢のひとつ「Movable Type」をおすすめする理由
CMSとして選択肢のひとつ「Movable Type」をおすすめする理由
 
MovableTypeとWordPressの比較
MovableTypeとWordPressの比較MovableTypeとWordPressの比較
MovableTypeとWordPressの比較
 
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
 
101210 supreme web adobe seminar Nagoya
101210 supreme web adobe seminar Nagoya101210 supreme web adobe seminar Nagoya
101210 supreme web adobe seminar Nagoya
 
WordOnsen in 福島飯坂 2014 応募時の質問と回答
WordOnsen in 福島飯坂 2014 応募時の質問と回答WordOnsen in 福島飯坂 2014 応募時の質問と回答
WordOnsen in 福島飯坂 2014 応募時の質問と回答
 
第一回スライド
第一回スライド第一回スライド
第一回スライド
 
App007 ほしい機能を作ろ
App007 ほしい機能を作ろApp007 ほしい機能を作ろ
App007 ほしい機能を作ろ
 
App007 ほしい機能を作ろ
App007 ほしい機能を作ろApp007 ほしい機能を作ろ
App007 ほしい機能を作ろ
 
eZ publish勉強会2013年9月「ez publish効率入門」
eZ publish勉強会2013年9月「ez publish効率入門」eZ publish勉強会2013年9月「ez publish効率入門」
eZ publish勉強会2013年9月「ez publish効率入門」
 
Edge と IE、来年からの Web 制作
Edge と IE、来年からの Web 制作Edge と IE、来年からの Web 制作
Edge と IE、来年からの Web 制作
 
Cognos reportauthoring c1_welcomeheader
Cognos reportauthoring c1_welcomeheaderCognos reportauthoring c1_welcomeheader
Cognos reportauthoring c1_welcomeheader
 
Adobe scoutの紹介
Adobe scoutの紹介Adobe scoutの紹介
Adobe scoutの紹介
 
WordPress 私はこんな設定をしています【WordBench Nagoya 9月勉強会】
WordPress 私はこんな設定をしています【WordBench Nagoya 9月勉強会】WordPress 私はこんな設定をしています【WordBench Nagoya 9月勉強会】
WordPress 私はこんな設定をしています【WordBench Nagoya 9月勉強会】
 
Windows 10 のあたらしい Web ブラウザーの F12 開発者ツール
Windows 10 のあたらしい Web ブラウザーの F12 開発者ツールWindows 10 のあたらしい Web ブラウザーの F12 開発者ツール
Windows 10 のあたらしい Web ブラウザーの F12 開発者ツール
 
酒と泪と Edge と IE
酒と泪と Edge と IE酒と泪と Edge と IE
酒と泪と Edge と IE
 
【Wordpress】LightBox風jQueryを使ってポップアップ上でカスタムフィールドを出力。
【Wordpress】LightBox風jQueryを使ってポップアップ上でカスタムフィールドを出力。【Wordpress】LightBox風jQueryを使ってポップアップ上でカスタムフィールドを出力。
【Wordpress】LightBox風jQueryを使ってポップアップ上でカスタムフィールドを出力。
 
FC2からWordPressへ引越し
FC2からWordPressへ引越しFC2からWordPressへ引越し
FC2からWordPressへ引越し
 

Similar to 20140409勉強会

Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Sho Ito
 
Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)
Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)
Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)shigeya
 
素敵なjavascript ~google chrome編~
素敵なjavascript ~google chrome編~素敵なjavascript ~google chrome編~
素敵なjavascript ~google chrome編~ngi group.
 
About Chrome web store
About Chrome web storeAbout Chrome web store
About Chrome web storeknj77
 
Chrome Extensionsから見るWebExtensions
Chrome Extensionsから見るWebExtensionsChrome Extensionsから見るWebExtensions
Chrome Extensionsから見るWebExtensionsYoichiro Tanaka
 
論理思考とプログラミング 2013f#10
論理思考とプログラミング 2013f#10論理思考とプログラミング 2013f#10
論理思考とプログラミング 2013f#10Noritada Shimizu
 
僕のChrome拡張
僕のChrome拡張僕のChrome拡張
僕のChrome拡張Syo Igarashi
 
WordBench Saitama vol.6
WordBench Saitama vol.6WordBench Saitama vol.6
WordBench Saitama vol.6masaaki komori
 
20140924 mt cloud_handson_seminar
20140924 mt cloud_handson_seminar20140924 mt cloud_handson_seminar
20140924 mt cloud_handson_seminarSix Apart
 
[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見Yosuke HASEGAWA
 
Webapp startup example_to_dolist
Webapp startup example_to_dolistWebapp startup example_to_dolist
Webapp startup example_to_dolistShinichiro Kumeuchi
 
Chrome拡張機能の作りかた
Chrome拡張機能の作りかたChrome拡張機能の作りかた
Chrome拡張機能の作りかたaozou99
 
SharePoint 開発入門
SharePoint 開発入門SharePoint 開発入門
SharePoint 開発入門Hiroaki Oikawa
 
File API: Writer & Directories and System
File API: Writer & Directories and SystemFile API: Writer & Directories and System
File API: Writer & Directories and SystemTaku AMANO
 
7/7 WordBench kobe dreamweaver seminar
7/7 WordBench kobe dreamweaver seminar7/7 WordBench kobe dreamweaver seminar
7/7 WordBench kobe dreamweaver seminarAtushi Sugiyama
 
DEV-008_Developing on the Edge. ~Web プラットフォームと Cordova~
DEV-008_Developing on the Edge. ~Web プラットフォームと Cordova~DEV-008_Developing on the Edge. ~Web プラットフォームと Cordova~
DEV-008_Developing on the Edge. ~Web プラットフォームと Cordova~decode2016
 

Similar to 20140409勉強会 (20)

Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5
 
Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)
Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)
Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)
 
素敵なjavascript ~google chrome編~
素敵なjavascript ~google chrome編~素敵なjavascript ~google chrome編~
素敵なjavascript ~google chrome編~
 
About Chrome web store
About Chrome web storeAbout Chrome web store
About Chrome web store
 
Chrome Extensionsから見るWebExtensions
Chrome Extensionsから見るWebExtensionsChrome Extensionsから見るWebExtensions
Chrome Extensionsから見るWebExtensions
 
HTML5最新動向
HTML5最新動向HTML5最新動向
HTML5最新動向
 
論理思考とプログラミング 2013f#10
論理思考とプログラミング 2013f#10論理思考とプログラミング 2013f#10
論理思考とプログラミング 2013f#10
 
僕のChrome拡張
僕のChrome拡張僕のChrome拡張
僕のChrome拡張
 
WordBench Saitama vol.6
WordBench Saitama vol.6WordBench Saitama vol.6
WordBench Saitama vol.6
 
20140924 mt cloud_handson_seminar
20140924 mt cloud_handson_seminar20140924 mt cloud_handson_seminar
20140924 mt cloud_handson_seminar
 
[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見
 
Webapp startup example_to_dolist
Webapp startup example_to_dolistWebapp startup example_to_dolist
Webapp startup example_to_dolist
 
Chrome拡張機能の作りかた
Chrome拡張機能の作りかたChrome拡張機能の作りかた
Chrome拡張機能の作りかた
 
SharePoint 開発入門
SharePoint 開発入門SharePoint 開発入門
SharePoint 開発入門
 
File API: Writer & Directories and System
File API: Writer & Directories and SystemFile API: Writer & Directories and System
File API: Writer & Directories and System
 
7/7 WordBench kobe dreamweaver seminar
7/7 WordBench kobe dreamweaver seminar7/7 WordBench kobe dreamweaver seminar
7/7 WordBench kobe dreamweaver seminar
 
DEV-008_Developing on the Edge. ~Web プラットフォームと Cordova~
DEV-008_Developing on the Edge. ~Web プラットフォームと Cordova~DEV-008_Developing on the Edge. ~Web プラットフォームと Cordova~
DEV-008_Developing on the Edge. ~Web プラットフォームと Cordova~
 
Firefoxosハンズオン
FirefoxosハンズオンFirefoxosハンズオン
Firefoxosハンズオン
 
1Day works shop
1Day works shop1Day works shop
1Day works shop
 
20090328
2009032820090328
20090328
 

20140409勉強会