Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Firefox OSでSVGをつかってみた
Search
kadoppe
November 23, 2013
Technology
0
120
Firefox OSでSVGをつかってみた
2013/11/23 に開催された「関西Firefox OS勉強会 5th GIG」で使ったプレゼンスライドです。
kadoppe
November 23, 2013
Tweet
Share
More Decks by kadoppe
See All by kadoppe
一年間スタートアップのCTOをやってきて学んだこと
kadoppe
1
820
未知の顧客にとっても価値あるプロダクトを生み出す
kadoppe
2
1.8k
プレイド開発チームにおけるチーム・ジャーニー ver.202010
kadoppe
4
1k
不確実性の高い世界のなかで、非連続な成長を生み出す / Developers Summit 2020 Summer
kadoppe
1
1.9k
プレイド開発チームにおけるチーム・ジャーニー
kadoppe
12
6.4k
プレイドのエンジニアからみた「正しいものを正しくつくる」
kadoppe
0
2.1k
フラット型組織におけるエンジニアリングマネジメント
kadoppe
1
1.3k
Pebble + JavaScriptでつくるスマートウォッチ
kadoppe
0
210
まだ間に合うHTML5 - Yeomanで追いつけ!高速Webアプリ開発
kadoppe
0
150
Other Decks in Technology
See All in Technology
サイト信頼性エンジニアリングとAmazon Web Services / SRE and AWS
ymotongpoo
7
1.7k
20250304_赤煉瓦倉庫_DeepSeek_Deep_Dive
hiouchiy
2
110
あなたが人生で成功するための5つの普遍的法則 #jawsug #jawsdays2025 / 20250301 HEROZ
yoshidashingo
2
320
EMConf JP 2025 懇親会LT / EMConf JP 2025 social gathering
sugamasao
2
200
AI Agent時代なのでAWSのLLMs.txtが欲しい!
watany
3
320
RayでPHPのデバッグをちょっと快適にする
muno92
PRO
0
190
ウォンテッドリーのデータパイプラインを支える ETL のための analytics, rds-exporter / analytics, rds-exporter for ETL to support Wantedly's data pipeline
unblee
0
140
開発組織を進化させる!AWSで実践するチームトポロジー
iwamot
2
460
Pwned Labsのすゝめ
ken5scal
2
500
AIエージェント時代のエンジニアになろう #jawsug #jawsdays2025 / 20250301 Agentic AI Engineering
yoshidashingo
8
3.9k
JAWS FESTA 2024「バスロケ」GPS×サーバーレスの開発と運用の舞台裏/jawsfesta2024-bus-gps-serverless
ma2shita
3
270
クラウド食堂とは?
hiyanger
0
120
Featured
See All Featured
Building Your Own Lightsaber
phodgson
104
6.2k
How GitHub (no longer) Works
holman
314
140k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Side Projects
sachag
452
42k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
1k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
What's in a price? How to price your products and services
michaelherold
244
12k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Statistics for Hackers
jakevdp
797
220k
Transcript
'JSFGPY04Ͱ 47(Λ͔ͭͬͯΈͨ ؔ'JSFGPY04ษڧձ!LBEPQQF
ࣗݾհ • ໊લ • ߃ฏ!LBEPQQF • ৬ۀ • ιϑτΣΞΤϯδχΞ •
3VCZ $P⒎FFc+BWB 4DSJQU0CKFDUJWF$ • ॴଐ • גࣜձࣾγΣΞΟζ)5.-8&45KQ
ຊͷεϥΠυ • εϥΠυ • IUUQXXXTMJEFTIBSFOFULBEPQQF • αϯϓϧίʔυ • IUUQTHJUIVCDPNLBEPQQFLBOTBJ pSFGPYPTUI
ΞδΣϯμ • 47(ͬͯͳΜͩΖ͏ • 'JSFGPY04Ͱ47(Λ͔ͭͬͯΈͨ • 'JSFGPYͰൃੜͨ͠τϥϒϧͷݕূ
47(ͬͯͳΜͩΖ͏
47(ͱ • 44DBMBCMFʢ֦େՄೳͳʣ • 77FDUPSʢϕΫλʔܗࣜͷʣ • ((SBQIJDʢը૾ʣ • ༁͢Δͱʮ֦େՄೳͳϕΫλʔը૾ʯ
ಛ֦େɾॖখ͖ͯ͠Ε͍ Ͱը૾Λදݱ ઢͰը૾Λදݱ
ಛ9.-ܗࣜͷϑΥʔϚοτ • 9.-ཁૉͰԁઢͳͲͷܗΛදݱ • ςΩετΤσΟλͰฤूՄೳ
47(ͷ͍ํ <img src=“sample.svg”> imgཁૉΛ͏
47(ͷ͍ํ .button {! background-image: url(“sample.svg”);! } $44Ͱ͏
47(ͷ͍ํ <html>! <body>! <h1>Inline SVGαϯϓϧ</h1>! <svg width=100 height=100>! <circle
r=50 cx=50 cy=50 />! </svg>! </body>! </html> svgཁૉΛ͏ *OMJOF47(
*OMJOF47(ͷϝϦοτ • ը૾ͷݟͨΛ$44Ͱมߋ • ԁͷ৭ɺઢͷଠ͞Λม͑ΔɺͳͲ • +BWB4DSJQUͰը૾Λૢ࡞Πϕϯτॲཧ • ಈతͳը૾ੜ •
ϚεΫϦοΫɺυϥοάͳͲͷΠϕϯτ
47(ͷ׆༻ࣄྫ • ׆༻ྫ̍ • ϩΰΞΠίϯը૾ • ׆༻ྫ̎ • ΠϯλϥΫςΟϒͳ8FCΞϓϦέʔγϣϯ
ϩΰΞΠίϯը૾
ϩΰΞΠίϯը૾
8FCΞϓϦέʔγϣϯ ແྉֶशαΠτ4IBSF8JTIUUQTIBSFXJTDPN
'JSFGPY04Ͱ 47(Λ͔ͭͬͯΈͨ
αϯϓϧΞϓϦΛެ։ 'JSFGPY04ͷϒϥβͰ IUUQBQQLBEPQQFDPNʹΞΫηε
։ൃڥ • 'JSFGPY ݱࡏ#FUB • 'JSFGPY044JNVMBUPS • ZFPNBO HFOFSBUPSpSFGPYPT
• ΞϓϦͷͻͳܗ࡞ʹ༷
݁ɿ 'JSFGPYͱಉ͡Α͏ʹ͑Δ
JNHཁૉΛͬͨαϯϓϧ • αϯϓϧίʔυ IUNMJNH@FMFNFOUIUNM
*OMJOF47(Λͬͨαϯϓϧ • αϯϓϧίʔυ IUNMTWH@FMFNFOUIUNM
%KT • 8FC্ͰσʔλϏδϡΞϥΠθʔγϣϯ Λ࡞͢ΔͨΊͷϥΠϒϥϦ IUUQEKTPSH • 47(Λσʔλͷදݱʹར༻
None
%KTΛͬͨαϯϓϧ • αϯϓϧίʔυ IUNMEIUNM KTE@TBNQMFKT • 'PVSTRVBSFͷ༑ୡؔΛ ՄࢹԽ • ੨ɿஉੑ
• ɿঁੑ
4OBQTWH • 47(Λ+BWB4DSJQU͔Β؆୯ʹѻ͏ͨΊ ϥΠϒϥϦ • ಈతͳը૾ͷੜ • ΞχϝʔγϣϯΠϕϯτϋϯυϦϯά • "EPCFͷΦʔϓϯιʔεϓϩδΣΫτ
IUUQTOBQTWHJP
None
4OBQTWHΛͬͨαϯϓϧ • αϯϓϧίʔυ IUNMTOBQIUNM KTTOBQ@TBNQMFKT • ϘλϯλοϓͰԁ͕૿͑Δ • ԁ͕ϥϯμϜʹಈ͖ଓ͚Δ •
Կݸ·ͰεϜʔζʹಈ͘ʁ
'JSFGPYͰൃੜͨ͠ τϥϒϧͷݕূ
'JSFGPY04Ͱ ಉ͡Α͏ʹൃੜ͢Δͷ͔ௐͯΈͨ
UFYUEFDPSBUJPOଐੑ <svg witdh=100 height=100>! <text text-decoration=underline x=0 y=20>Hello World</text>! </svg>
'JSFGPYҎԼ ͦͷଞϒϥβ Լઢ͕දࣔ͞ΕΔ Լઢ͕දࣔ͞Εͳ͍
'JSFGPY04Ͱ Լઢ͕දࣔ͞ΕΔ
HFU##PY var textElm = document.getElementById('text'); var box = textElm.getBBox(); !
alert(box.height); // textཁૉͷߴ͞ alert(box.width); // textཁૉͷ෯ ཁૉͷେ͖͞Λऔಘ͢ΔͨΊͷ"1*
'JSFGPYͰ // display: none ͳͲͰඇදࣔʹͳ͍ͬͯΔཁૉΛऔಘ var hiddenElm = document.getElementById('hidden'); var
box = hiddenElm.getBBox(); ! ྫ֎l/4@&3303@'"*-63&z͕ൃੜ
/4@&3303@'"*-63& ҙຯ ʮͳΜ͔Τϥʔʯ
/4@&3303@'"*-63& 23 /* Returned when a function fails */ 24
ERROR(NS_ERROR_FAILURE, 0x80004005), NP[JMMBYQDPNCBTF&SSPS-JTUI ԿΒ͔ͷݪҼͰؔͷ࣮ߦ͕ࣦഊͨ࣌͠ͷΤϥʔ
ͪͳΈʹ$ISPNFͩͱ // display: none ͳͲͰඇදࣔʹͳ͍ͬͯΔཁૉΛऔಘ var hiddenElm = document.getElementById('hidden'); var
box = hiddenElm.getBBox(); ! alert(box.height); // 0 alert(box.width); // 0 ͪΌΜͱzz͕ग़ྗ͞ΕΔ
'JSFGPY04Ͱ /4@&3303@'"*-63&
ରॲํ๏USZDBUDI // display: none ͳͲͰඇදࣔʹͳ͍ͬͯΔཁૉΛऔಘ var hiddenElm = document.getElementById('hidden'); try
{ var box = hiddenElm.getBBox(); ! alert(box.height); // 0 alert(box.width); // 0 } catch (e) { // NS_ERROR_FAILUREൃੜ࣌ͷॲཧ }
։ൃऀπʔϧͷΠϯεϖΫλ )5.-ཁૉΛબͨ͠߹ 47(ͷཁૉΛબͨ͠߹ ϧʔϧʹద༻͞Ε͍ͯΔελΠϧ͕දࣔ͞ΕΔ ϧʔϧʹద༻͞Ε͍ͯΔελΠϧ͕දࣔ͞Εͳ͍
$ISPNFͰ ͪΌΜͱදࣔ͞ΕΔ
'JSFGPY04Ͱ ͬͺΓදࣔ͞Εͳ͍
σόοά͠ʹ͍͘ ɾТɾʆ
ରॲํ๏ lܭࢉࡁΈzͱʜ ελΠϧΤσΟλͰؤுΔ
·ͱΊ • 'JSFGPY04 47( • ྑ͘ѱ͘'JSFGPYͱಉ͡Α͏ʹ͑Δ • ύϑΥʔϚϯε • ࣮ػ͕ͳ͍ͷͰݕূͰ͖ͳ͔ͬͨ
͓͠·͍