Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Takami Kazuya
2,336 views
History api
2015/07/04 - HTML5カンファレンス鹿児島 セッション資料(20分)
Engineering
◦
Read more
4
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 17
2
/ 17
3
/ 17
4
/ 17
5
/ 17
6
/ 17
7
/ 17
8
/ 17
9
/ 17
10
/ 17
11
/ 17
12
/ 17
13
/ 17
14
/ 17
15
/ 17
16
/ 17
17
/ 17
More Related Content
PPT
ExtJSで作るAIRアプリケーション
by
Daisaku Yamamoto
PDF
[Azure Deep Dive] APIエコノミーに向けて ~Azure API ManagementによるAPIの公開と管理~ (2016/12/16)
by
Naoki (Neo) SATO
PDF
JSON-LD schema.org定義によるデータ構造化のススメ
by
Takami Kazuya
PDF
jQuery3.0-beta1-point
by
Takami Kazuya
PDF
Watch face アプリを公開してみた
by
Yuki Anzai
PDF
Owasp japan6th
by
Masakazu Ikeda
PDF
WordPress+AMP
by
Takami Kazuya
PDF
プラグイン公開までの道のり
by
Takami Kazuya
ExtJSで作るAIRアプリケーション
by
Daisaku Yamamoto
[Azure Deep Dive] APIエコノミーに向けて ~Azure API ManagementによるAPIの公開と管理~ (2016/12/16)
by
Naoki (Neo) SATO
JSON-LD schema.org定義によるデータ構造化のススメ
by
Takami Kazuya
jQuery3.0-beta1-point
by
Takami Kazuya
Watch face アプリを公開してみた
by
Yuki Anzai
Owasp japan6th
by
Masakazu Ikeda
WordPress+AMP
by
Takami Kazuya
プラグイン公開までの道のり
by
Takami Kazuya
More from Takami Kazuya
PDF
WordPress+JSON-LDで構造化するこれからのマークアップ WordFes Nagoya 2016
by
Takami Kazuya
PDF
WordPress + JSON-LDで構造化するこれからのマークアップ
by
Takami Kazuya
PDF
WordPressテーマ作成
by
Takami Kazuya
PPT
WordPress×jQueryMobile
by
Takami Kazuya
PDF
WordPressをこれから始める人のためのテーマ講座
by
Takami Kazuya
PPT
今から学ぶ!jQuery Mobile!
by
Takami Kazuya
PDF
Miyazaki.js vol.2
by
Takami Kazuya
PDF
WordPressで考えるこれからのコンテンツ制作
by
Takami Kazuya
PDF
WordPress widget api
by
Takami Kazuya
PDF
Googleデータポータルで見える化に挑戦vol.2
by
Takami Kazuya
PDF
Google Apps Script 入門
by
Takami Kazuya
PDF
React Facebook JavaScript Library
by
Takami Kazuya
PDF
GoogleAppsScript入門
by
Takami Kazuya
PDF
HTML栄枯盛衰は世の習い
by
Takami Kazuya
PPTX
EC-CUBEプラグイン制作のポイント
by
Takami Kazuya
PDF
Wordpress カスタム投稿
by
Takami Kazuya
PDF
WordPressプラグイン考察
by
Takami Kazuya
PPT
英語でカゴラボ紹介
by
Takami Kazuya
PDF
WordPressプラグインの作り方
by
Takami Kazuya
PDF
【WordBench宮崎】第3回・4回アンケート報告
by
Takami Kazuya
WordPress+JSON-LDで構造化するこれからのマークアップ WordFes Nagoya 2016
by
Takami Kazuya
WordPress + JSON-LDで構造化するこれからのマークアップ
by
Takami Kazuya
WordPressテーマ作成
by
Takami Kazuya
WordPress×jQueryMobile
by
Takami Kazuya
WordPressをこれから始める人のためのテーマ講座
by
Takami Kazuya
今から学ぶ!jQuery Mobile!
by
Takami Kazuya
Miyazaki.js vol.2
by
Takami Kazuya
WordPressで考えるこれからのコンテンツ制作
by
Takami Kazuya
WordPress widget api
by
Takami Kazuya
Googleデータポータルで見える化に挑戦vol.2
by
Takami Kazuya
Google Apps Script 入門
by
Takami Kazuya
React Facebook JavaScript Library
by
Takami Kazuya
GoogleAppsScript入門
by
Takami Kazuya
HTML栄枯盛衰は世の習い
by
Takami Kazuya
EC-CUBEプラグイン制作のポイント
by
Takami Kazuya
Wordpress カスタム投稿
by
Takami Kazuya
WordPressプラグイン考察
by
Takami Kazuya
英語でカゴラボ紹介
by
Takami Kazuya
WordPressプラグインの作り方
by
Takami Kazuya
【WordBench宮崎】第3回・4回アンケート報告
by
Takami Kazuya
History api
1.
©aratana Inc. pushState(“www.aratana.jp”,
“⾼高⾒見見和也”, “Front End Engineer”); History API JavaScriptルーティングの基本イロハ
2.
自己紹介 2 ⾼高⾒見見 和也(Takami Kazuya) 株式会社アラタナ ECテクノロジー事業本部:デザイングループ所属 フロントエンドエンジニア Twitter@miiitaka Facebook@miiitaka
3.
戯れている 3
4.
History API? ©aratana Inc.
4 History APIとは? ブラウザの履履歴情報をJavaScriptから操作する機能。
5.
使ったことあるでしょ? ©aratana Inc. 5
History API は昔からありました。 ・history.back() ・history.forward() ・history.go() ・history.length() ・history.state()
6.
履歴操作 Yeah ©aratana Inc.
6 HTML5から履歴の追加・書き換えができるようになりました。 ・history.back() ・history.forward() ・history.go() ・history.length() ・history.state() ・history.pushState(data, title[, url]) ・history.replaceState(data, title[, url])
7.
Routing? ©aratana Inc. 7
Routing(ルーティング)? HTTPリクエストのURLに応じて、呼び出す処理理を決定する仕組みのこ と。
8.
例えばこんな構造 ©aratana Inc. 8
9.
例えばこんな構造 ©aratana Inc. 9
Template Routing JS HTML
10.
jQueryで実装してみる ©aratana Inc. 10
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-‐8"> <Etle>History API Demo (jQuery)</Etle> <script src="components/jquery/dist/jquery.min.js"></script> </head> <body> <ul id="menu"> <li><a href="page1.html">PAGE-‐1</a></li> <li><a href="page2.html">PAGE-‐2</a></li> <li><a href="page3.html">PAGE-‐3</a></li> </ul> <div id="contents"></div> <script src="js/app.js"></script> </body> </html> jquery.html
11.
jQueryで実装してみる ©aratana Inc. 11
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-‐8"> <Etle>History API Demo (jQuery)</Etle> <script src="components/jquery/dist/jquery.min.js"></script> </head> <body> <ul id="menu"> <li><a href="page1.html">PAGE-‐1</a></li> <li><a href="page2.html">PAGE-‐2</a></li> <li><a href="page3.html">PAGE-‐3</a></li> </ul> <div id="contents"></div> <script src="js/app.js"></script> </body> </html> jquery.html
12.
jQueryで実装してみる ©aratana Inc. 12
(funcEon ($) { "use strict"; funcEon loadData(url) { $.ajax({ "type":"GET", "dataType":"html", "url":"/html/" + url }).done(funcEon (data) { $("#contents").html(data); }); } $("#menu").find("a").on("click", funcEon (e) { e.preventDefault(); history.pushState(null, null, $(this).aEr("href")); loadData($(this).aar("href")); }); $(window).on("popstate", funcEon (e) { e.preventDefault(); loadData(locaEon.pathname.split('/').pop()); }); }(jQuery)); app.js
13.
AngularJSで実装してみる ©aratana Inc. 13
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-‐8"> <base href="/"> <Etle>History API Demo (Angular)</Etle> <script src="components/angular/angular.min.js"></script> <script src="components/angular-‐route/angular-‐route.min.js"></script> </head> <body> <ul id="menu"> <li><a href="page1">PAGE-‐1</a></li> <li><a href="page2">PAGE-‐2</a></li> <li><a href="page3">PAGE-‐3</a></li> </ul> <div id="contents" data-‐ng-‐view></div> <script src="js/angular.js"></script> </body> </html> angular.htm l
14.
AngularJSで実装してみる ©aratana Inc. 14
(funcEon (angular) { "use strict"; var app = angular.module("app", ["ngRoute"]); app.config(["$routeProvider", "$locaEonProvider", funcEon ($routeProvider, $locaEonProvider) { $locaEonProvider.html5Mode(true); $routeProvider .when("/page1", { "templateUrl": "../html/page1.html“ }) .when("/page2", { "templateUrl": "../html/page2.html“ }) .when("/page3", { "templateUrl": "../html/page3.html“ }); } ]); angular.bootstrap(document, ['app'], 'strictDi'); }(angular)); angular.js
15.
メリットは? ©aratana Inc. 15
Routing(ルーティング)のメリットは? ・共通のパーツはリロードする必要がないので⾼高速 ・ネットワークの負荷が減る ・要素をパーツ化しやすい ・データ取得をajaxでやりとりすれば、1度度もページ更更新なしで完結する。 ・URLをファイル名に関係なく⾃自由に設定できる(angularでの例例) (^o^)
16.
デメリットは? ©aratana Inc. 16
Routing(ルーティング)のデメリットは? ・URL設定やMVWなどきちんとした設計が必要(個⼈人の感想です) ・SEOどうなの? (´・ω・`)
17.
Thank You !! ©aratana
Inc. 17 ご清聴ありがとうございました。
Download