SlideShare a Scribd company logo
1 of 36
Download to read offline
YUI 與不換頁技術
http://josephj.com/training/ncu-tsung/index.html
http://www.josephjiang.com/presentation/NoPostBack/demo.html
YUI AJAX
http://josephj.com/training/ncu-tsung/yui-ajax.html
Web 2.0 的基礎
YUI AJAX
YUI 用來做 AJAX 叫做 Connection Manager
使用者瀏覽器
A 網站
傳統流程:
YUI AJAX
YUI 用來做 AJAX 叫做 Connection Manager
使用者瀏覽器
A 網站
1. 發出 Request
傳統流程:
YUI AJAX
YUI 用來做 AJAX 叫做 Connection Manager
使用者瀏覽器
A 網站
1. 發出 Request
A 網站
伺服器
2. 伺服器處理 Request
傳統流程:
YUI AJAX
YUI 用來做 AJAX 叫做 Connection Manager
使用者瀏覽器
A 網站
1. 發出 Request
A 網站
伺服器
2. 伺服器處理 Request
3. 伺服器回傳
傳統流程:
YUI AJAX
YUI 用來做 AJAX 叫做 Connection Manager
使用者瀏覽器
A 網站
1. 發出 Request
A 網站
伺服器
2. 伺服器處理 Request
3. 伺服器回傳
4. 整份網頁重新整理
傳統流程:
使用者瀏覽器
A 網站
AJAX流程:
YUI AJAX
使用者瀏覽器
A 網站
1. 用 JavaScript 發出 Request
AJAX流程:
YUI AJAX
使用者瀏覽器
A 網站
1. 用 JavaScript 發出 Request
A 網站
伺服器
2. 伺服器處理 Request
AJAX流程:
YUI AJAX
使用者瀏覽器
A 網站
1. 用 JavaScript 發出 Request
A 網站
伺服器
2. 伺服器處理 Request
3. 伺服器回傳
AJAX流程:
YUI AJAX
使用者瀏覽器
A 網站
1. 用 JavaScript 發出 Request
A 網站
伺服器
2. 伺服器處理 Request
3. 伺服器回傳
4. 只有小部分更新
AJAX流程:
YUI AJAX
練習:YUI Connection
http://josephj.com/training/ncu-tsung/yui-ajax.html
YUI Get Utility
http://josephj.com/training/ncu-tsung/yui-get.html
存取跨網域的資料
利用外部 JavaScript 的特性
利用外部 JavaScript 的特性
AJAX 不能做跨網域的存取!
http://tw.yahoo.com http://tw.lifestyle.yahoo.com
利用外部 JavaScript 的特性
AJAX 不能做跨網域的存取!
http://tw.yahoo.com http://tw.lifestyle.yahoo.com
但 <script src=”...”></script> 可以
利用外部 JavaScript 的特性
AJAX 不能做跨網域的存取!
http://tw.yahoo.com http://tw.lifestyle.yahoo.com
但 <script src=”...”></script> 可以
http://josephj.com/training/ncu-tsung/script.html
利用外部 JavaScript 的特性
AJAX 不能做跨網域的存取!
http://tw.yahoo.com http://tw.lifestyle.yahoo.com
但 <script src=”...”></script> 可以
http://josephj.com/training/ncu-tsung/script.html
http://www.josephjiang.com/training/ncu-tsung/data.js<script src=” “></script>
利用外部 JavaScript 的特性
AJAX 不能做跨網域的存取!
http://tw.yahoo.com http://tw.lifestyle.yahoo.com
但 <script src=”...”></script> 可以
http://josephj.com/training/ncu-tsung/script.html
http://www.josephjiang.com/training/ncu-tsung/data.js<script src=” “></script>
var outputString = ‘hello’;
getData(outputString);
利用外部 JavaScript 的特性
AJAX 不能做跨網域的存取!
http://tw.yahoo.com http://tw.lifestyle.yahoo.com
但 <script src=”...”></script> 可以
http://josephj.com/training/ncu-tsung/script.html
http://www.josephjiang.com/training/ncu-tsung/data.js<script src=” “></script>
<script>
function getData (data) {
alert(data);
}
</script>
var outputString = ‘hello’;
getData(outputString);
用 JavaScript 把照片抓到你的網站上?
搜尋 “中央資工”
http://api.flickr.com/services/rest/?
method=flickr.photos.search&api_key=b392051d5ac5fdb5e9ba68744bd922de&text=中央
資工&format=json
http://api.flickr.com/services/rest/?
method=flickr.photos.search&api_key=b392051d5ac5fdb5e9ba68744bd922de&text=中央
資工&format=json
<script src=”
“></script>
YUI Get Utility
YUI Get Utility
• 動態新增 <script/> 節點
YUI Get Utility
• 動態新增 <script/> 節點
• YAHOO.util.Get.script(url)
YUI Get Utility
• 動態新增 <script/> 節點
• YAHOO.util.Get.script(url)
• ex1. 載入函式庫(YUI、jQuery...)
YUI Get Utility
• 動態新增 <script/> 節點
• YAHOO.util.Get.script(url)
• ex1. 載入函式庫(YUI、jQuery...)
• ex2. 載入外部資料(JSON)
YUI Get Utility
• 動態新增 <script/> 節點
• YAHOO.util.Get.script(url)
• ex1. 載入函式庫(YUI、jQuery...)
• ex2. 載入外部資料(JSON)
• 動態新增 <link/> 節點
YUI Get Utility
• 動態新增 <script/> 節點
• YAHOO.util.Get.script(url)
• ex1. 載入函式庫(YUI、jQuery...)
• ex2. 載入外部資料(JSON)
• 動態新增 <link/> 節點
• YAHOO.util.Get.css(url)
YUI Get Utility
• 動態新增 <script/> 節點
• YAHOO.util.Get.script(url)
• ex1. 載入函式庫(YUI、jQuery...)
• ex2. 載入外部資料(JSON)
• 動態新增 <link/> 節點
• YAHOO.util.Get.css(url)
• ex. 動態更換佈景主題
練習:YUI Get Utility
http://josephj.com/training/ncu-tsung/yui-get.html
練習:YUI Get Utility
http://josephj.com/training/ncu-tsung/yui-get.html
http://developer.yahoo.com/yql/console/
Yahoo! 也提供了類似 SQL 存取資料的方式
需要
OAuth
• YUI Uploader
• YUI Browser History Manager
• YUI 3.x IO
• YUI JSON Utility
還有更多...

More Related Content

Viewers also liked

Debugging - 前端工程開發實務訓練
 Debugging - 前端工程開發實務訓練 Debugging - 前端工程開發實務訓練
Debugging - 前端工程開發實務訓練Joseph Chiang
 
Automatic Functional Testing with Selenium and SauceLabs
Automatic Functional Testing with Selenium and SauceLabsAutomatic Functional Testing with Selenium and SauceLabs
Automatic Functional Testing with Selenium and SauceLabsJoseph Chiang
 
YUI 教學 - 前端工程開發實務訓練
YUI 教學 - 前端工程開發實務訓練YUI 教學 - 前端工程開發實務訓練
YUI 教學 - 前端工程開發實務訓練Joseph Chiang
 
Yahoo! 奇摩關鍵字廣告聯播網
Yahoo! 奇摩關鍵字廣告聯播網Yahoo! 奇摩關鍵字廣告聯播網
Yahoo! 奇摩關鍵字廣告聯播網Joseph Chiang
 
Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練Joseph Chiang
 
Javascript 入門 - 前端工程開發實務訓練
Javascript 入門 - 前端工程開發實務訓練Javascript 入門 - 前端工程開發實務訓練
Javascript 入門 - 前端工程開發實務訓練Joseph Chiang
 
YUI is Sexy - 使用 YUI 作為開發基礎
YUI is Sexy - 使用 YUI 作為開發基礎YUI is Sexy - 使用 YUI 作為開發基礎
YUI is Sexy - 使用 YUI 作為開發基礎Joseph Chiang
 

Viewers also liked (8)

Debugging - 前端工程開發實務訓練
 Debugging - 前端工程開發實務訓練 Debugging - 前端工程開發實務訓練
Debugging - 前端工程開發實務訓練
 
Automatic Functional Testing with Selenium and SauceLabs
Automatic Functional Testing with Selenium and SauceLabsAutomatic Functional Testing with Selenium and SauceLabs
Automatic Functional Testing with Selenium and SauceLabs
 
YUI 教學 - 前端工程開發實務訓練
YUI 教學 - 前端工程開發實務訓練YUI 教學 - 前端工程開發實務訓練
YUI 教學 - 前端工程開發實務訓練
 
Yahoo! 奇摩關鍵字廣告聯播網
Yahoo! 奇摩關鍵字廣告聯播網Yahoo! 奇摩關鍵字廣告聯播網
Yahoo! 奇摩關鍵字廣告聯播網
 
Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練
 
JavaScript Promise
JavaScript PromiseJavaScript Promise
JavaScript Promise
 
Javascript 入門 - 前端工程開發實務訓練
Javascript 入門 - 前端工程開發實務訓練Javascript 入門 - 前端工程開發實務訓練
Javascript 入門 - 前端工程開發實務訓練
 
YUI is Sexy - 使用 YUI 作為開發基礎
YUI is Sexy - 使用 YUI 作為開發基礎YUI is Sexy - 使用 YUI 作為開發基礎
YUI is Sexy - 使用 YUI 作為開發基礎
 

More from Joseph Chiang

不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会Joseph Chiang
 
JavaScript Code Quality
JavaScript Code QualityJavaScript Code Quality
JavaScript Code QualityJoseph Chiang
 
前端的未來 - 前端工程實務訓練
前端的未來 - 前端工程實務訓練前端的未來 - 前端工程實務訓練
前端的未來 - 前端工程實務訓練Joseph Chiang
 
Performance 入門 - 前端工程開發實務訓練
Performance 入門 - 前端工程開發實務訓練Performance 入門 - 前端工程開發實務訓練
Performance 入門 - 前端工程開發實務訓練Joseph Chiang
 
前端工程開發實務訓練
前端工程開發實務訓練前端工程開發實務訓練
前端工程開發實務訓練Joseph Chiang
 
CSS 入門 - 前端工程開發實務訓練
CSS 入門 - 前端工程開發實務訓練CSS 入門 - 前端工程開發實務訓練
CSS 入門 - 前端工程開發實務訓練Joseph Chiang
 
HTML 入門 - 前端工程開發實務訓練
HTML 入門 - 前端工程開發實務訓練HTML 入門 - 前端工程開發實務訓練
HTML 入門 - 前端工程開發實務訓練Joseph Chiang
 
分享無名小站 API
分享無名小站 API分享無名小站 API
分享無名小站 APIJoseph Chiang
 
yui3 is Sexy - 使用 YUI 3 的 Sexy Part !
yui3 is Sexy - 使用 YUI 3 的 Sexy Part !yui3 is Sexy - 使用 YUI 3 的 Sexy Part !
yui3 is Sexy - 使用 YUI 3 的 Sexy Part !Joseph Chiang
 
建立前端開發團隊 - 2011 中華電信訓練所版
建立前端開發團隊 - 2011 中華電信訓練所版建立前端開發團隊 - 2011 中華電信訓練所版
建立前端開發團隊 - 2011 中華電信訓練所版Joseph Chiang
 
不用不可之 Fiddler Debugging Proxy!
不用不可之 Fiddler Debugging Proxy!不用不可之 Fiddler Debugging Proxy!
不用不可之 Fiddler Debugging Proxy!Joseph Chiang
 
Front-end Modular & Autmomated Development
Front-end Modular & Autmomated Development Front-end Modular & Autmomated Development
Front-end Modular & Autmomated Development Joseph Chiang
 
建立前端开发团队 (Front-end Development Environment)
建立前端开发团队 (Front-end Development Environment)建立前端开发团队 (Front-end Development Environment)
建立前端开发团队 (Front-end Development Environment)Joseph Chiang
 
Hack Day Sharing at D-Link
Hack Day Sharing at D-LinkHack Day Sharing at D-Link
Hack Day Sharing at D-LinkJoseph Chiang
 

More from Joseph Chiang (19)

不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会
 
Let's Redux!
Let's Redux!Let's Redux!
Let's Redux!
 
F2E for Enterprise
F2E for EnterpriseF2E for Enterprise
F2E for Enterprise
 
JavaScript Code Quality
JavaScript Code QualityJavaScript Code Quality
JavaScript Code Quality
 
F2E, the Keystone
F2E, the KeystoneF2E, the Keystone
F2E, the Keystone
 
前端的未來 - 前端工程實務訓練
前端的未來 - 前端工程實務訓練前端的未來 - 前端工程實務訓練
前端的未來 - 前端工程實務訓練
 
Performance 入門 - 前端工程開發實務訓練
Performance 入門 - 前端工程開發實務訓練Performance 入門 - 前端工程開發實務訓練
Performance 入門 - 前端工程開發實務訓練
 
前端工程開發實務訓練
前端工程開發實務訓練前端工程開發實務訓練
前端工程開發實務訓練
 
CSS 入門 - 前端工程開發實務訓練
CSS 入門 - 前端工程開發實務訓練CSS 入門 - 前端工程開發實務訓練
CSS 入門 - 前端工程開發實務訓練
 
HTML 入門 - 前端工程開發實務訓練
HTML 入門 - 前端工程開發實務訓練HTML 入門 - 前端工程開發實務訓練
HTML 入門 - 前端工程開發實務訓練
 
miiiCasa is Fun
miiiCasa is FunmiiiCasa is Fun
miiiCasa is Fun
 
分享無名小站 API
分享無名小站 API分享無名小站 API
分享無名小站 API
 
yui3 is Sexy - 使用 YUI 3 的 Sexy Part !
yui3 is Sexy - 使用 YUI 3 的 Sexy Part !yui3 is Sexy - 使用 YUI 3 的 Sexy Part !
yui3 is Sexy - 使用 YUI 3 的 Sexy Part !
 
建立前端開發團隊 - 2011 中華電信訓練所版
建立前端開發團隊 - 2011 中華電信訓練所版建立前端開發團隊 - 2011 中華電信訓練所版
建立前端開發團隊 - 2011 中華電信訓練所版
 
不用不可之 Fiddler Debugging Proxy!
不用不可之 Fiddler Debugging Proxy!不用不可之 Fiddler Debugging Proxy!
不用不可之 Fiddler Debugging Proxy!
 
Open platform
Open platformOpen platform
Open platform
 
Front-end Modular & Autmomated Development
Front-end Modular & Autmomated Development Front-end Modular & Autmomated Development
Front-end Modular & Autmomated Development
 
建立前端开发团队 (Front-end Development Environment)
建立前端开发团队 (Front-end Development Environment)建立前端开发团队 (Front-end Development Environment)
建立前端开发团队 (Front-end Development Environment)
 
Hack Day Sharing at D-Link
Hack Day Sharing at D-LinkHack Day Sharing at D-Link
Hack Day Sharing at D-Link
 

Ncu At Tsung