Submit Search
Upload
スマートフォン対応、気をつけたいトラブル JavaScript編
•
25 likes
•
11,808 views
Hiroaki Wakamatsu
Follow
9/28におこなわれたokayama-jsでの発表用スライドです。
Read less
Read more
Report
Share
Report
Share
1 of 16
Download now
Download to read offline
Recommended
CSS3 / JavaScriptで作るスマートフォンUIと落とし穴
CSS3 / JavaScriptで作るスマートフォンUIと落とし穴
西畑 一馬
スマートフォンブラウザ不具合特集
スマートフォンブラウザ不具合特集
Hiroaki Wakamatsu
UI設計におけるスマートフォン対応のまとめ
UI設計におけるスマートフォン対応のまとめ
Tomoki Imatomi
スマートフォン対応、気をつけたいトラブル
スマートフォン対応、気をつけたいトラブル
Hiroaki Wakamatsu
スマートフォンサイト制作 よくあるトラブルと 解決方法・回避方法
スマートフォンサイト制作 よくあるトラブルと 解決方法・回避方法
Maboroshi.inc
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
irgaly
Smartphone ui:ux」 de na creative seminar vol.1 レポート
Smartphone ui:ux」 de na creative seminar vol.1 レポート
Masaru Kimura
Xamarin.formsでのmvvm利用のコツ
Xamarin.formsでのmvvm利用のコツ
Masuda Tomoaki
Recommended
CSS3 / JavaScriptで作るスマートフォンUIと落とし穴
CSS3 / JavaScriptで作るスマートフォンUIと落とし穴
西畑 一馬
スマートフォンブラウザ不具合特集
スマートフォンブラウザ不具合特集
Hiroaki Wakamatsu
UI設計におけるスマートフォン対応のまとめ
UI設計におけるスマートフォン対応のまとめ
Tomoki Imatomi
スマートフォン対応、気をつけたいトラブル
スマートフォン対応、気をつけたいトラブル
Hiroaki Wakamatsu
スマートフォンサイト制作 よくあるトラブルと 解決方法・回避方法
スマートフォンサイト制作 よくあるトラブルと 解決方法・回避方法
Maboroshi.inc
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
irgaly
Smartphone ui:ux」 de na creative seminar vol.1 レポート
Smartphone ui:ux」 de na creative seminar vol.1 レポート
Masaru Kimura
Xamarin.formsでのmvvm利用のコツ
Xamarin.formsでのmvvm利用のコツ
Masuda Tomoaki
Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門
Masahiko Mizuta
Flashup 12 Basic Training of Away3D
Flashup 12 Basic Training of Away3D
Katsushi Suzuki
GUI アプリケーションにおける MVC
GUI アプリケーションにおける MVC
Yu Nobuoka
Flashup14 Away3d basic material setting
Flashup14 Away3d basic material setting
Katsushi Suzuki
Flashup13 Basic Training of Flare3D
Flashup13 Basic Training of Flare3D
Katsushi Suzuki
知らないと損するアプリ開発におけるStateMachineの活用法(full版)
知らないと損するアプリ開発におけるStateMachineの活用法(full版)
Ken Morishita
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法
Hiroshi Yoshida
Prism + ReactiveProperty入門
Prism + ReactiveProperty入門
一希 大田
フラッシャーはこれからどうしたらいいのか。
フラッシャーはこれからどうしたらいいのか。
Shuichi Takaya
Androidハイブリッドアプリを約2年間メンテンナンスしてきて分ったこと
Androidハイブリッドアプリを約2年間メンテンナンスしてきて分ったこと
Shuichi Takaya
WordPress基礎講座1 CMSの概要
WordPress基礎講座1 CMSの概要
Akinori Kawamitsu
AWS基礎
AWS基礎
Keisuke Higo
CSSコーディングを効率よくするおすすめプラグイン
CSSコーディングを効率よくするおすすめプラグイン
Shogo Tamura
レスポンシブWeb「デザイン」
レスポンシブWeb「デザイン」
uenoyuuki
jQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & Tips
yoshikawa_t
マークアップとUX
マークアップとUX
uenoyuuki
Awsをちゃんと使ってみた
Awsをちゃんと使ってみた
Yoichi Toyota
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjp
Yoshifumi Yamaguchi
WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
タカシ キタジマ
マルチデバイス時代におけるWebサイトのUIについて
マルチデバイス時代におけるWebサイトのUIについて
rie nabesaka
Javascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScript
Kazufumi Ohkawa
レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~
レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~
Horiguchi Seito
More Related Content
What's hot
Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門
Masahiko Mizuta
Flashup 12 Basic Training of Away3D
Flashup 12 Basic Training of Away3D
Katsushi Suzuki
GUI アプリケーションにおける MVC
GUI アプリケーションにおける MVC
Yu Nobuoka
Flashup14 Away3d basic material setting
Flashup14 Away3d basic material setting
Katsushi Suzuki
Flashup13 Basic Training of Flare3D
Flashup13 Basic Training of Flare3D
Katsushi Suzuki
知らないと損するアプリ開発におけるStateMachineの活用法(full版)
知らないと損するアプリ開発におけるStateMachineの活用法(full版)
Ken Morishita
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法
Hiroshi Yoshida
Prism + ReactiveProperty入門
Prism + ReactiveProperty入門
一希 大田
What's hot
(8)
Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門
Flashup 12 Basic Training of Away3D
Flashup 12 Basic Training of Away3D
GUI アプリケーションにおける MVC
GUI アプリケーションにおける MVC
Flashup14 Away3d basic material setting
Flashup14 Away3d basic material setting
Flashup13 Basic Training of Flare3D
Flashup13 Basic Training of Flare3D
知らないと損するアプリ開発におけるStateMachineの活用法(full版)
知らないと損するアプリ開発におけるStateMachineの活用法(full版)
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法
Prism + ReactiveProperty入門
Prism + ReactiveProperty入門
Viewers also liked
フラッシャーはこれからどうしたらいいのか。
フラッシャーはこれからどうしたらいいのか。
Shuichi Takaya
Androidハイブリッドアプリを約2年間メンテンナンスしてきて分ったこと
Androidハイブリッドアプリを約2年間メンテンナンスしてきて分ったこと
Shuichi Takaya
WordPress基礎講座1 CMSの概要
WordPress基礎講座1 CMSの概要
Akinori Kawamitsu
AWS基礎
AWS基礎
Keisuke Higo
CSSコーディングを効率よくするおすすめプラグイン
CSSコーディングを効率よくするおすすめプラグイン
Shogo Tamura
レスポンシブWeb「デザイン」
レスポンシブWeb「デザイン」
uenoyuuki
jQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & Tips
yoshikawa_t
マークアップとUX
マークアップとUX
uenoyuuki
Awsをちゃんと使ってみた
Awsをちゃんと使ってみた
Yoichi Toyota
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjp
Yoshifumi Yamaguchi
WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
タカシ キタジマ
マルチデバイス時代におけるWebサイトのUIについて
マルチデバイス時代におけるWebサイトのUIについて
rie nabesaka
Javascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScript
Kazufumi Ohkawa
レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~
レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~
Horiguchi Seito
使いやすいWordPressのためのCSSのつくりかた
使いやすいWordPressのためのCSSのつくりかた
Hiroshi Urabe
CSS の歩き方
CSS の歩き方
Seiichiro Mishiba
なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?
Aki Ariga
Pythonの開発環境を調べてみた
Pythonの開発環境を調べてみた
Kenji NAKAGAKI
NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門
Shiqiao Du
ソフトシンセを作りながら学ぶPythonプログラミング
ソフトシンセを作りながら学ぶPythonプログラミング
Ransui Iso
Viewers also liked
(20)
フラッシャーはこれからどうしたらいいのか。
フラッシャーはこれからどうしたらいいのか。
Androidハイブリッドアプリを約2年間メンテンナンスしてきて分ったこと
Androidハイブリッドアプリを約2年間メンテンナンスしてきて分ったこと
WordPress基礎講座1 CMSの概要
WordPress基礎講座1 CMSの概要
AWS基礎
AWS基礎
CSSコーディングを効率よくするおすすめプラグイン
CSSコーディングを効率よくするおすすめプラグイン
レスポンシブWeb「デザイン」
レスポンシブWeb「デザイン」
jQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & Tips
マークアップとUX
マークアップとUX
Awsをちゃんと使ってみた
Awsをちゃんと使ってみた
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjp
WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
マルチデバイス時代におけるWebサイトのUIについて
マルチデバイス時代におけるWebサイトのUIについて
Javascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScript
レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~
レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~
使いやすいWordPressのためのCSSのつくりかた
使いやすいWordPressのためのCSSのつくりかた
CSS の歩き方
CSS の歩き方
なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?
Pythonの開発環境を調べてみた
Pythonの開発環境を調べてみた
NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門
ソフトシンセを作りながら学ぶPythonプログラミング
ソフトシンセを作りながら学ぶPythonプログラミング
Similar to スマートフォン対応、気をつけたいトラブル JavaScript編
Android gameprogramming
Android gameprogramming
Masahiro Hidaka
レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】
Yasuhito Yabe
DOMイベントの基礎から深淵まで
DOMイベントの基礎から深淵まで
Masayuki Nakano
Tokyo GTUG Bootcamp2010
Tokyo GTUG Bootcamp2010
Takashi EGAWA
OpenGL 3DCG
OpenGL 3DCG
Takenori Nakagawa
Android OpenGL HandsOn
Android OpenGL HandsOn
Ikuo Tansho
Swift Study Vol.4
Swift Study Vol.4
Nagamine Hiromasa
JavaFXでマルチタッチプログラミング
JavaFXでマルチタッチプログラミング
Takashi Aoe
Silverlightで作るマルチタッチアプリケーション 2
Silverlightで作るマルチタッチアプリケーション 2
Yoshitaka Seo
スマートフォン勉強会関西#16(iOS,Android,WP7マルチタッチ)
スマートフォン勉強会関西#16(iOS,Android,WP7マルチタッチ)
Tomonori Ohba
Flutterでscroll viewとexpandedを併用してsign in sign up画面 などの レイアウトを作成する
Flutterでscroll viewとexpandedを併用してsign in sign up画面 などの レイアウトを作成する
IgaHironobu
Silverlight Line-Of-Business Applications
Silverlight Line-Of-Business Applications
Yuya Yamaki
HTML5でスマートフォン開発の理想と現実
HTML5でスマートフォン開発の理想と現実
Takumi Ohashi
Core Animation 使って見た
Core Animation 使って見た
OCHI Shuji
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Atsushi Tadokoro
モデルベース要件定義 at BPStudy
モデルベース要件定義 at BPStudy
Zenji Kanzaki
Jqm20120804 publish
Jqm20120804 publish
Takashi Okamoto
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
Takashi Okamoto
GREE Creators' Meetup #2 session B Manryo
GREE Creators' Meetup #2 session B Manryo
Shiho Manryo
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
AdvancedTechNight
Similar to スマートフォン対応、気をつけたいトラブル JavaScript編
(20)
Android gameprogramming
Android gameprogramming
レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】
DOMイベントの基礎から深淵まで
DOMイベントの基礎から深淵まで
Tokyo GTUG Bootcamp2010
Tokyo GTUG Bootcamp2010
OpenGL 3DCG
OpenGL 3DCG
Android OpenGL HandsOn
Android OpenGL HandsOn
Swift Study Vol.4
Swift Study Vol.4
JavaFXでマルチタッチプログラミング
JavaFXでマルチタッチプログラミング
Silverlightで作るマルチタッチアプリケーション 2
Silverlightで作るマルチタッチアプリケーション 2
スマートフォン勉強会関西#16(iOS,Android,WP7マルチタッチ)
スマートフォン勉強会関西#16(iOS,Android,WP7マルチタッチ)
Flutterでscroll viewとexpandedを併用してsign in sign up画面 などの レイアウトを作成する
Flutterでscroll viewとexpandedを併用してsign in sign up画面 などの レイアウトを作成する
Silverlight Line-Of-Business Applications
Silverlight Line-Of-Business Applications
HTML5でスマートフォン開発の理想と現実
HTML5でスマートフォン開発の理想と現実
Core Animation 使って見た
Core Animation 使って見た
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
モデルベース要件定義 at BPStudy
モデルベース要件定義 at BPStudy
Jqm20120804 publish
Jqm20120804 publish
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
GREE Creators' Meetup #2 session B Manryo
GREE Creators' Meetup #2 session B Manryo
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
スマートフォン対応、気をつけたいトラブル JavaScript編
1.
okayama-js スマートフォン対応、 気をつけたいトラブル
∼ JavaScript編 ∼ 若松 浩昭(株式会社ジークス)
2.
自己紹介 若松 浩昭(Hiroaki Wakamatsu) ・Webサイトの設計 ・フロントエンド周りの実装 ・スマートフォン案件が主体 ・HTML5-WEST.jpコアメンバー Twitter
: azuyuu ブログ : bit.ly/NFATf4 2
3.
Chapter 1 このセッションについて
4.
セッションの内容 8/18 の 『CSS Nite
in OSAKA, Vol.32 』 で発表した内容に、JavaScriptの話を 追加しました 8/18のスライド: http://slidesha.re/QyICih 4
5.
Chapter 2 知っておこう2:JavaScriptに関するトラブルの例
6.
1. 傾き時の画面サイズ取得 •
Androidでは、orientationchange イベント時に検知できる値がズレる window.onorientationchange = function() { alert("W: " + window.innerWidth + ", H: " + window.innerHeight); } 横に傾けたにも関わらず、縦向け時の 幅と高さを取得している・・・ 6
7.
1. 傾き時の画面サイズ取得 ー 対処方法の例(1)ー •
タイマーを使って、画面サイズ取得の タイミングを少しだけ遅延させる window.onorientationchange = function() { setTimeout(function() { alert("W: " + window.innerWidth + ", H: " + window.innerHeight); }, 200); } 横に傾けた時、正常に横向け時の 幅と高さが取得できている ただし、端末によってはうまく取得できな い場合がある(Galaxy S Ⅲとか・・・) 7
8.
1. 傾き時の画面サイズ取得 ー 対処方法の例(2)ー •
orientationchangeイベントの代わりに resizeイベントを使う ただし、画面をスクロー ルした時や、キーパッド を表示した時にも、 resizeイベントが発生し てしまうので注意 8
9.
2. キーイベント •
Androidは、keyupなどのイベントが うまく発生しない • しかも、機種ごとに動作が異なったりする $("textarea").on("keyup", function(e) { var len = $("textarea").val().length; } 9
10.
2. キーイベント ー 現象の例
ー 最初の一文字や、途中に「確定」を タップした時だけイベントが発生、途 日本語入力の場合だけ、イベントが発 中は英数字入力であってもイベントは 生しない 発生しない Galasy S Ⅱの場合 Galaxy S Ⅲの場合 結局、Androidでの実装は諦めました・・・ 10
11.
3. スワイプ処理 •
Androidは、画面スクロールが発生すると、 touchmoveやtouchendを見失う 画面スクロール中は、touchmoveで 座標が取得できない・・・ iPhoneの場合(正常) Galaxy S Ⅲの場合 11
12.
3. スワイプ処理 ー 対処方法の例(1)
ー • touchmove時に、e.preventDefault()を 実行 $("E").on("touchstart", function(e) { // event... }).on("touchend", function(e) { // event... }).on("touchmove", function(e) { // event... e.preventDefault(); }); 12
13.
3. スワイプ処理 ー 対処方法の例(2)ー •
ただし、縦方向にスクロールしなくなるの で・・・ 13
14.
3. スワイプ処理 ー 対処方法の例(3)
ー • e.preventDefault() に実行条件を付ける $("E").on("touchstart", function(e) { Y1 = e.originalEvent.touches[0].clientY; }).on("touchend", function(e) { // event... }).on("touchmove", function(e) { Y2 = e.originalEvent.touches[0].clientY; if (Math.abs(Y1 - Y2) < 5) { e.preventDefault(); } }); 14
15.
3. スワイプ処理 ー 対処方法の例(4)ー •
縦方向の移動が特定値以下の場合だけ、 e.preventDefault() を実行 縦スクロール時は座標は取得せず、 縦スクロールが発生しない(横方向のタッチ移動 の)時だけ座標の取得ができるようになる 15
16.
okayama-js スマートフォン対応、気をつけたいトラブル
∼ JavaScript編 ∼ 若松 浩昭(株式会社ジークス) @azuyuu
Download now