Submit Search
Upload
クロスブラウザ拡張ライブラリExtension.js
•
3 likes
•
2,800 views
S
swdyh
Follow
Firefox Developers Conference 2010 LT
Read less
Read more
Technology
Business
Report
Share
Report
Share
1 of 17
Download now
Download to read offline
Recommended
書籍向け汎用マークアップのあり方―Re:VIEWの開発を通して
書籍向け汎用マークアップのあり方―Re:VIEWの開発を通して
Kenshi Muto
ReVIEWを用いたPDFとEPUBへの変換について
ReVIEWを用いたPDFとEPUBへの変換について
masayoshi takahashi
Windowsで始めるウェブ制作 ~開発環境 構築編~
Windowsで始めるウェブ制作 ~開発環境 構築編~
Yuki Kokubo
AndroidでWebSocket
AndroidでWebSocket
Kohei Kadowaki
Opa - Cloud Language
Opa - Cloud Language
Tozo Tanaka
Markdown で行こう!
Markdown で行こう!
博文 斉藤
自分的pkgsrcの課題
自分的pkgsrcの課題
Ryo ONODERA
WordPress ドキュメンテーション作成と翻訳
WordPress ドキュメンテーション作成と翻訳
Naoko Takano
Recommended
書籍向け汎用マークアップのあり方―Re:VIEWの開発を通して
書籍向け汎用マークアップのあり方―Re:VIEWの開発を通して
Kenshi Muto
ReVIEWを用いたPDFとEPUBへの変換について
ReVIEWを用いたPDFとEPUBへの変換について
masayoshi takahashi
Windowsで始めるウェブ制作 ~開発環境 構築編~
Windowsで始めるウェブ制作 ~開発環境 構築編~
Yuki Kokubo
AndroidでWebSocket
AndroidでWebSocket
Kohei Kadowaki
Opa - Cloud Language
Opa - Cloud Language
Tozo Tanaka
Markdown で行こう!
Markdown で行こう!
博文 斉藤
自分的pkgsrcの課題
自分的pkgsrcの課題
Ryo ONODERA
WordPress ドキュメンテーション作成と翻訳
WordPress ドキュメンテーション作成と翻訳
Naoko Takano
pkgsrcユーザー向け設定
pkgsrcユーザー向け設定
Ryo ONODERA
PHP懇親会
PHP懇親会
kaz_29
concrete5 勉強会 20150607_トップページを作ろう
concrete5 勉強会 20150607_トップページを作ろう
Toshiaki Endo
20091209 Phpstudy
20091209 Phpstudy
Yusuke Ando
140607 lib o-mini_con-ryoon
140607 lib o-mini_con-ryoon
Ryo ONODERA
月刊ライトニングトーク 12月号
月刊ライトニングトーク 12月号
Masaki Yamamoto
DEV-008_Developing on the Edge. ~Web プラットフォームと Cordova~
DEV-008_Developing on the Edge. ~Web プラットフォームと Cordova~
decode2016
concrete5 勉強会 20150726_トップページを作ろう
concrete5 勉強会 20150726_トップページを作ろう
Toshiaki Endo
W3C日本会議発表資料
W3C日本会議発表資料
Makoto Murata
Webと出版と、CSSの未来の話
Webと出版と、CSSの未来の話
Shinyu Murakami
Web Packaging - Use cases and Loading
Web Packaging - Use cases and Loading
Kinuko Yasuda
Real legacy
Real legacy
Koichiro Ohba
FreeBSD の小ネタ
FreeBSD の小ネタ
Hirohisa Yamaguchi
FreeBSD を VirtualBox にインストールしてみた
FreeBSD を VirtualBox にインストールしてみた
Hirohisa Yamaguchi
VBScriptのダメなところ~その1~
VBScriptのダメなところ~その1~
bouzuya
20150317 firefox os勉強会
20150317 firefox os勉強会
Naoki Sekiguchi
VyOS Users Meeting Japan #4 VyOS 1.2.0の開発の様子と自動テストの話
VyOS Users Meeting Japan #4 VyOS 1.2.0の開発の様子と自動テストの話
雄也 日下部
120225 qp lt
120225 qp lt
Takayoshi Tanaka
WSHで遊ぼう!
WSHで遊ぼう!
bouzuya
Java Script4
Java Script4
Kiminari Homma
Youtube, come promuovere la propria azienda!
Youtube, come promuovere la propria azienda!
Marco Zambon
Afghanistan Powerpoint Country
Afghanistan Powerpoint Country
Andrew Schwartz
More Related Content
What's hot
pkgsrcユーザー向け設定
pkgsrcユーザー向け設定
Ryo ONODERA
PHP懇親会
PHP懇親会
kaz_29
concrete5 勉強会 20150607_トップページを作ろう
concrete5 勉強会 20150607_トップページを作ろう
Toshiaki Endo
20091209 Phpstudy
20091209 Phpstudy
Yusuke Ando
140607 lib o-mini_con-ryoon
140607 lib o-mini_con-ryoon
Ryo ONODERA
月刊ライトニングトーク 12月号
月刊ライトニングトーク 12月号
Masaki Yamamoto
DEV-008_Developing on the Edge. ~Web プラットフォームと Cordova~
DEV-008_Developing on the Edge. ~Web プラットフォームと Cordova~
decode2016
concrete5 勉強会 20150726_トップページを作ろう
concrete5 勉強会 20150726_トップページを作ろう
Toshiaki Endo
W3C日本会議発表資料
W3C日本会議発表資料
Makoto Murata
Webと出版と、CSSの未来の話
Webと出版と、CSSの未来の話
Shinyu Murakami
Web Packaging - Use cases and Loading
Web Packaging - Use cases and Loading
Kinuko Yasuda
Real legacy
Real legacy
Koichiro Ohba
FreeBSD の小ネタ
FreeBSD の小ネタ
Hirohisa Yamaguchi
FreeBSD を VirtualBox にインストールしてみた
FreeBSD を VirtualBox にインストールしてみた
Hirohisa Yamaguchi
VBScriptのダメなところ~その1~
VBScriptのダメなところ~その1~
bouzuya
20150317 firefox os勉強会
20150317 firefox os勉強会
Naoki Sekiguchi
VyOS Users Meeting Japan #4 VyOS 1.2.0の開発の様子と自動テストの話
VyOS Users Meeting Japan #4 VyOS 1.2.0の開発の様子と自動テストの話
雄也 日下部
120225 qp lt
120225 qp lt
Takayoshi Tanaka
WSHで遊ぼう!
WSHで遊ぼう!
bouzuya
Java Script4
Java Script4
Kiminari Homma
What's hot
(20)
pkgsrcユーザー向け設定
pkgsrcユーザー向け設定
PHP懇親会
PHP懇親会
concrete5 勉強会 20150607_トップページを作ろう
concrete5 勉強会 20150607_トップページを作ろう
20091209 Phpstudy
20091209 Phpstudy
140607 lib o-mini_con-ryoon
140607 lib o-mini_con-ryoon
月刊ライトニングトーク 12月号
月刊ライトニングトーク 12月号
DEV-008_Developing on the Edge. ~Web プラットフォームと Cordova~
DEV-008_Developing on the Edge. ~Web プラットフォームと Cordova~
concrete5 勉強会 20150726_トップページを作ろう
concrete5 勉強会 20150726_トップページを作ろう
W3C日本会議発表資料
W3C日本会議発表資料
Webと出版と、CSSの未来の話
Webと出版と、CSSの未来の話
Web Packaging - Use cases and Loading
Web Packaging - Use cases and Loading
Real legacy
Real legacy
FreeBSD の小ネタ
FreeBSD の小ネタ
FreeBSD を VirtualBox にインストールしてみた
FreeBSD を VirtualBox にインストールしてみた
VBScriptのダメなところ~その1~
VBScriptのダメなところ~その1~
20150317 firefox os勉強会
20150317 firefox os勉強会
VyOS Users Meeting Japan #4 VyOS 1.2.0の開発の様子と自動テストの話
VyOS Users Meeting Japan #4 VyOS 1.2.0の開発の様子と自動テストの話
120225 qp lt
120225 qp lt
WSHで遊ぼう!
WSHで遊ぼう!
Java Script4
Java Script4
Viewers also liked
Youtube, come promuovere la propria azienda!
Youtube, come promuovere la propria azienda!
Marco Zambon
Afghanistan Powerpoint Country
Afghanistan Powerpoint Country
Andrew Schwartz
大家行03
大家行03
liuruifeng
Communicative verbs and constructions as markers
Communicative verbs and constructions as markers
Lidia Pivovarova
Product Management: Site & Situation
Product Management: Site & Situation
Jon Gatrell
AINL 2016: Shavrina, Selegey
AINL 2016: Shavrina, Selegey
Lidia Pivovarova
Prietenior Mei...
Prietenior Mei...
Florin Stoica
Hide you file behind a picture
Hide you file behind a picture
Neelanjan Bhattacharyya
дерево
дерево
Lidia Pivovarova
Webpage07 Sept07
Webpage07 Sept07
mapasy
2009 Meet The Principal
2009 Meet The Principal
ph0enix74
プッシュからデータ保存まで。アプリ開発でニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えします
プッシュからデータ保存まで。アプリ開発でニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えします
Atsushi Nakatsugawa
6308 Casper Presentationupdated2
6308 Casper Presentationupdated2
Cma Mohd
Ria2010 workshop dev mobile
Ria2010 workshop dev mobile
Michael Chaize
Viewers also liked
(14)
Youtube, come promuovere la propria azienda!
Youtube, come promuovere la propria azienda!
Afghanistan Powerpoint Country
Afghanistan Powerpoint Country
大家行03
大家行03
Communicative verbs and constructions as markers
Communicative verbs and constructions as markers
Product Management: Site & Situation
Product Management: Site & Situation
AINL 2016: Shavrina, Selegey
AINL 2016: Shavrina, Selegey
Prietenior Mei...
Prietenior Mei...
Hide you file behind a picture
Hide you file behind a picture
дерево
дерево
Webpage07 Sept07
Webpage07 Sept07
2009 Meet The Principal
2009 Meet The Principal
プッシュからデータ保存まで。アプリ開発でニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えします
プッシュからデータ保存まで。アプリ開発でニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えします
6308 Casper Presentationupdated2
6308 Casper Presentationupdated2
Ria2010 workshop dev mobile
Ria2010 workshop dev mobile
Similar to クロスブラウザ拡張ライブラリExtension.js
プラグインのリポジトリ登録について 20120819
プラグインのリポジトリ登録について 20120819
Kitani Kimiya
Firefox OSアプリの概要@gunma.web
Firefox OSアプリの概要@gunma.web
Hayato Hiratori
ガラケーで楽しむオレJSの勧め
ガラケーで楽しむオレJSの勧め
Hiroshi Tokumaru
Firefox FAQ
Firefox FAQ
dynamis
Secret of Firefox
Secret of Firefox
dynamis
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
david9142
Chrome Extensionsから見るWebExtensions
Chrome Extensionsから見るWebExtensions
Yoichiro Tanaka
PHPにおけるRIA事情と開発
PHPにおけるRIA事情と開発
konekto
(Web に関わる人に知っておいてほしい)Web ブラウザー 最新事情
(Web に関わる人に知っておいてほしい)Web ブラウザー 最新事情
彰 村地
Firefox Mobile
Firefox Mobile
Makoto Kato
Chrome Devtools for beginners (v1.1)
Chrome Devtools for beginners (v1.1)
yoshikawa_t
Node.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないとき
Ryunosuke SATO
Attractive HTML5
Attractive HTML5
Sho Ito
DartPad+CodePenで、Flutterを体験してみよう
DartPad+CodePenで、Flutterを体験してみよう
cch-robo
Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5
Sho Ito
20141115グンマーのヤボー
20141115グンマーのヤボー
Akihiko Kigure
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
Issei Hiraoka
開発を彩る技術たち
開発を彩る技術たち
Oda Shinsuke
WordBench Saitama vol.6
WordBench Saitama vol.6
masaaki komori
Windows AzureでWebサーバーを再発明してみる
Windows AzureでWebサーバーを再発明してみる
Sunao Tomita
Similar to クロスブラウザ拡張ライブラリExtension.js
(20)
プラグインのリポジトリ登録について 20120819
プラグインのリポジトリ登録について 20120819
Firefox OSアプリの概要@gunma.web
Firefox OSアプリの概要@gunma.web
ガラケーで楽しむオレJSの勧め
ガラケーで楽しむオレJSの勧め
Firefox FAQ
Firefox FAQ
Secret of Firefox
Secret of Firefox
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Chrome Extensionsから見るWebExtensions
Chrome Extensionsから見るWebExtensions
PHPにおけるRIA事情と開発
PHPにおけるRIA事情と開発
(Web に関わる人に知っておいてほしい)Web ブラウザー 最新事情
(Web に関わる人に知っておいてほしい)Web ブラウザー 最新事情
Firefox Mobile
Firefox Mobile
Chrome Devtools for beginners (v1.1)
Chrome Devtools for beginners (v1.1)
Node.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないとき
Attractive HTML5
Attractive HTML5
DartPad+CodePenで、Flutterを体験してみよう
DartPad+CodePenで、Flutterを体験してみよう
Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5
20141115グンマーのヤボー
20141115グンマーのヤボー
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
開発を彩る技術たち
開発を彩る技術たち
WordBench Saitama vol.6
WordBench Saitama vol.6
Windows AzureでWebサーバーを再発明してみる
Windows AzureでWebサーバーを再発明してみる
クロスブラウザ拡張ライブラリExtension.js
1.
クロスブラウザ拡張ライブラリ Extension.js swdyh fxdevcon 2010 11/20
LT
2.
★ 自己紹介: swdyh ★
AutoPagerize開発者 ★ 次のページ自動で読み込むブラウザ拡張 ★ 去年のLTでFirefox拡張やChrome拡張 の話
3.
★ 一年経つ間に、ブラウザ拡張にいろいろ 動き ★ 2010/03
Jetpack SDKがでた ★ 2010/06 Safariにも拡張機能 ★ 2010/10 Operaにも拡張機能
4.
★ いろんなブラウザに向けて 拡張を書く時代
5.
★ JSとHTMLで書ける拡張だけでも ★ Chrome拡張 ★
Firefox拡張(Jetpack) ★ Safari拡張 ★ Opera拡張
6.
★ でも、細かい部分がけっこう違って 実際作ってみると大変!
7.
★ 例えば、新規タブでURLを開くコード
8.
// Jetpack require('tabs').open({ url:
url }) // Chrome chrome.tabs.create({ url: url }) // Safari safari.application.activeBrowserWindow. openTab().url = url // Opera opera.extension.tabs.create({ url: url })
9.
★ こういう面倒な手間を減らしたい
10.
★ Extension.js
11.
★ 設計方針 ★ 複数のブラウザ向けの開発を楽にする ★
拡張の生成や変換はしない ★ あるブラウザしかない機能や違いが大 きい部分は対象にしない ★ どのブラウザでもある機能、でもAPI が違うというのを対象にする ★ APIをラップしたライブラリ
12.
★ 進捗 ★ まだ少しだけ ★
いま出来てるのは、Contentスクリプ ト用の部分 ★ ↑はAutoPagerizeでは使ってる
13.
// Jetpack onMessage =
function(res) { console.log(res) } postMessage('data') // Chrome chrome.extension.sendRequest('data', function(res) { console.log(res) }) // Safari safari.self.addEventListener('message', function(event) { console.log(event.message) }) safari.self.tab.dispatchMessage('data')
14.
var extension =
new Extension() extension.postMessage('key', ’data’, function(res) { console.log(res) })
15.
★ ブラウザ間の差異を気にせずすっきり
16.
★ これから ★ Backgroundプロセスの方のAPI ★
Operaも対象に
17.
★ Extension.js ★ https://github.com/swdyh/extension.js ★
ありがとうございました
Download now