SlideShare a Scribd company logo
QUICK FETCH API INTRODUCTION
http://bit.ly/2j3sAlG
@chrislove
chris@love2dev.com
www.love2dev.com
CHRIS LOVE
http://bit.ly/2j3sAlG
@chrislove
chris@love2dev.com
www.love2dev.com
CHRIS LOVE
RESOURCES
Slide URL slideshare – https://slideshare.com/docluv
Source Code – https://github.com/docluv
FETCH
Replaces XMLHttpRequest
Uses Promises
Polyfil Available for Legacy Browsers
Full Support for Modern Browsers
IE 11 & Old Android Need Polyfil
Headers, Request, Response Objects
Build Web Sites Better Than The
Facebook App
5
FETCH
It also provides a global fetch() method that provides an easy, logical
way to fetch resources asynchronously across the network.
Build Web Sites Better Than The
Facebook App
6
Fetch API provides a JavaScript interface for accessing and manipulating
parts of the HTTP pipeline, such as requests and responses.
if (typeof fetch === "undefined" ||
fetch.toString().indexOf("[native code]") === -1) {
scripts.unshift("js/libs/fetch.js");
}
Build Web Sites Better Than The
Facebook App
7
var myImage = document.querySelector('img');
fetch('flowers.jpg')
.then(function(response) {
return response.blob();
})
.then(function(myBlob) {
var objectURL = URL.createObjectURL(myBlob);
myImage.src = objectURL;
});
Build Web Sites Better Than The
Facebook App
8
SUPPLY REQUEST OPTIONS
 method
 headers
 body
 mode
 credentials
 cache
 redirect
 referrer
 referrerPolicy
 integrity
Build Web Sites Better Than The
Facebook App
9
var myHeaders = new Headers();
var myInit = { method: 'GET',
headers: myHeaders,
mode: 'cors',
cache: 'default' };
fetch('flowers.jpg',myInit)
.then(function(response) {
return response.blob();
})
.then(function(myBlob) {
var objectURL = URL.createObjectURL(myBlob);
myImage.src = objectURL;
});
Build Web Sites Better Than The
Facebook App
10
VERIFY SUCCESSFUL RESPONSE
Will Reject With a TypeError For Network Error
404 is Not an Error
Check Response.OK
Build Web Sites Better Than The
Facebook App
11
fetch('flowers.jpg').then(function(response) {
if(response.ok) {
response.blob().then(function(myBlob) {
var objectURL = URL.createObjectURL(myBlob);
myImage.src = objectURL;
});
} else {
console.log('Network response was not ok.');
}
})
.catch(function(error) {
console.log('There has been a problem with your fetch operation: ' +
error.message);
});
Build Web Sites Better Than The
Facebook App
12
CREATE CUSTOM REQUEST OBJECT
Build Web Sites Better Than The
Facebook App
13
var myHeaders = new Headers();
var myInit = { method: 'GET',
headers: myHeaders,
mode: 'cors',
cache: 'default' };
var myRequest = new Request('flowers.jpg', myInit);
fetch(myRequest)
.then(function(response) {
return response.blob();
})
.then(function(myBlob) {
var objectURL = URL.createObjectURL(myBlob);
myImage.src = objectURL;
});
Build Web Sites Better Than The
Facebook App
14
BODY OBJECT
ArrayBuffer
ArrayBufferView (Uint8Array and friends)
Blob/File
string
URLSearchParams
FormData
Build Web Sites Better Than The
Facebook App
15
BODY OBJECT EXTRACTION METHODS
arrayBuffer()
blob()
json()
text()
formData()
Build Web Sites Better Than The
Facebook App
16
var form = new
FormData(document.getElementById('login-form'));
fetch("/login", {
method: "POST",
body: form
});
Build Web Sites Better Than The
Facebook App
17
RESPONDWITH()
Resolves
 Respond
 Network Error
Build Web Sites Better Than The
Facebook App
18
self.addEventListener('fetch', function(event) {
console.log('Handling fetch event for', event.request.url);
event.respondWith(
caches.match(event.request).then(function(response) {
if (response) {
console.log('Found response in cache:', response);
return response;
}
console.log('No response found in cache. About to fetch from network...');
return fetch(event.request).then(function(response) {
console.log('Response from network is:', response);
return response;
}).catch(function(error) {
console.error('Fetching failed:', error);
throw error;
});
})
);
}); Build Web Sites Better Than The
Facebook App
19
Presentation Title Can Be Placed Here 20
LIFE CYCLE
SERVICE WORKER
LIFE CYCLE
 Lives Separate From Page
 Must Register Service Worker
 The Service Worker is Installed
 It is not Immediately Active
 Can be Forced Active Upon Install
 Activated After All Current References Terminated
 Now Controls All New Instances of Site
Presentation Title Can Be Placed Here 21
LIFE CYCLE
Presentation Title Can Be Placed Here 22
Client
Register
SW
Wait For Instance Close
SW
Install
SW
Activated
Quick Fetch API Introduction
Web
ServerWeb Page
Service
Worker
Cache
2
1
Web
ServerWeb Page
Service
Worker
Cache
2
REGISTRATION
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/sw.js')
.then(function(registration) {
// Registration was successful
})
.catch(function(err) {
// registration failed :(
});
}
Presentation Title Can Be Placed Here 26
INSTALL
self.addEventListener('install', function (e) {
//do something
});
Presentation Title Can Be Placed Here 27
ACTIVATE
self.addEventListener('activate', function (event) {
console.log('Service Worker activating.');
});
Presentation Title Can Be Placed Here 28
ACTIVATE
self.addEventListener('install', function (e) {
e.waitUntil(…}));
self.skipWaiting();
});
Presentation Title Can Be Placed Here 29
Quick Fetch API Introduction
Presentation Title Can Be Placed Here 31
INTRODUCTION TO SERVICE
WORKER
SERVICE WORKER
A VIRTUAL ASSISTANT FOR YOUR WEB SITE
A service worker is a
script that your
browser runs in the
background
A VIRTUAL ASSISTANT FOR YOUR WEB SITE
Manages Tasks &
Features That
Don’t Require User
Interaction
A VIRTUAL ASSISTANT FOR YOUR WEB SITE
Frees Up the UI
Thread for…UI
Stuff
SERVICE WORKER
Presentation Title Can Be Placed Here 35
Service worker is a programmable
network proxy, allowing you to control
how network requests from your page
are handled.
It's terminated when not in use, and
restarted when it's next needed
Persistence Done With IndexDB
Can’t Communicate with DOM Directly
WHAT IS A SERVICE WORKER
A Proxy Server
Between the Browser
and Network
Web Page/UI Service Worker
Web
Server
WHAT IS A SERVICE WORKER
Enable the Creation of
Effective Offline
Experiences
WHAT IS A SERVICE WORKER
Enable Native Push Notifications
WHAT IS A SERVICE WORKER
Enable Background Sync
SERVICE WORKER REQUIREMENTS
Asynchronous
SERVICE WORKER REQUIREMENTS
Asynchronous
HTTPS
SERVICE WORKER REQUIREMENTS
Asynchronous
HTTPS
Modern Browser
SERVICE WORKER RESOURCES
Presentation Title Can Be Placed Here 44
Is Service Worker Ready?
https://jakearchibald.github.io/isserviceworkerready/
Service Worker Cookbook
https://serviceworke.rs/
THE PROXY SERVER IN YOUR
POCKET
SERVICE WORKER
CLASSIC WEB CLIENT-SERVER
Presentation Title Can Be Placed Here 46
Web
ServerWeb Page
ADD SERVICE WORKER
Presentation Title Can Be Placed Here 47
Web
ServerWeb Page
Service Worker
Presentation Title Can Be Placed Here 48
Web
ServerWeb Page
Service Worker
Presentation Title Can Be Placed Here 49
Web
ServerWeb Page
Service Worker
Cache
SERVICE WORKER CACHE
Presentation Title Can Be Placed Here 50
Persist Files with Response Headers
Limited by Device Resources
Available Online & Offline
self.addEventListener('install', function (e) {
e.waitUntil(
caches.open(cacheName).then(function (cache) {
return cache.addAll(filesToCache)
.catch(function (error) {
console.log(error);
});
})
);
});
Presentation Title Can Be Placed Here 51
Presentation Title Can Be Placed Here 52
self.addEventListener('fetch', function (event) {
//intercept fetch request (any request from the UI thread for a file or API) and return from cache or get from
server & cache it
event.respondWith(
caches.match(event.request).then(function (resp) {
return resp || fetchAsset(event);
})
);
});
Web
ServerWeb Page
Service Worker
CacheIndexDB
Presentation Title Can Be Placed Here 54
THE CACHE STRATEGIES
SERVICE WORKER
http://bit.ly/2j3sAlG
@chrislove
chris@love2dev.com
www.love2dev.com
CHRIS LOVE
http://bit.ly/2j3sAlG
@chrislove
chris@love2dev.com
www.love2dev.com
CHRIS LOVE
RESOURCES
Slide URL slideshare – https://slideshare.com/docluv
Source Code – https://github.com/docluv
PROGRESSIVE WEB APPLICATION COURSE
Full access when launched
Videos
E-book
Checklists
Reference Source Code
Build Scripts
https://love2dev.com/pwaupgrade
Web Page
Service Worker
Web Page
Service Worker
Cache
OFFLINE COOKBOOK
JAKE ARCHIBALD
Chrome Team
https://jakearchibald.com/2014/
offline-cookbook/
Quick Fetch API Introduction
self.addEventListener('install', function(event) {
event.waitUntil( caches.open('mysite-static-v3')
.then(function(cache) {
return cache.addAll([ '/css/whatever-v3.css',
'/css/imgs/sprites-v6.png',
'/css/fonts/whatever-v8.woff',
'/js/all-min-v4.js'
// etc
]); }) ); });
Quick Fetch API Introduction
self.addEventListener('install', function(event) {
event.waitUntil(
caches.open('mygame-core-v1')
.then(function(cache) {
cache.addAll( // levels 11-20 );
return cache.addAll(
// core assets & levels 1-10 );
})
);
});
Quick Fetch API Introduction
self.addEventListener('activate', function(event) {
event.waitUntil( caches.keys()
.then(function(cacheNames) {
return Promise.all(
cacheNames.filter(function(cacheName) {
// Return true if you want to remove this cache,
// but remember that caches are shared across
// the whole origin })
.map(function(cacheName) {
return caches.delete(cacheName);
})
);
})
);
});
Quick Fetch API Introduction
document.querySelector('.cache-article').addEventListener('click',
function(event) {
event.preventDefault();
var id = this.dataset.articleId;
caches.open('mysite-article-' + id)
.then(function(cache) {
fetch('/get-article-urls?id=' +
id).then(function(response) {
response.json();
}).then(function(urls) { cache.addAll(urls);
});
});
});
Quick Fetch API Introduction
self.addEventListener('fetch', function(event) {
event.respondWith(
caches.open('mysite-dynamic')
.then(function(cache) {
return cache.match(event.request)
.then(function (response) {
return response || fetch(event.request)
.then(function(response) {
cache.put(event.request, response.clone());
return response;
});
});
})
);
});
Quick Fetch API Introduction
self.addEventListener('fetch', function(event) {
event.respondWith(
caches.open('mysite-dynamic')
.then(function(cache) {
return cache.match(event.request)
.then(function(response) {
var fetchPromise = fetch(event.request)
.then(function(networkResponse) {
cache.put(event.request,
networkResponse.clone());
return networkResponse; })
return response || fetchPromise;
}) }) ); });
Quick Fetch API Introduction
Quick Fetch API Introduction
self.addEventListener('install', function(event) {
event.waitUntil( caches.open('mysite-static-v3')
.then(function(cache) {
return cache.addAll([ '/css/whatever-v3.css',
'/css/imgs/sprites-v6.png',
'/css/fonts/whatever-v8.woff',
'/js/all-min-v4.js'
// etc
]); }) ); });
Quick Fetch API Introduction
self.addEventListener('fetch', function(event) {
// If a match isn't found in the cache, the response
// will look like a connection error
event.respondWith(caches.match(event.request));
});
Quick Fetch API Introduction
self.addEventListener('fetch', function(event) {
event.respondWith(fetch(event.request));
// or simply don't call event.respondWith, which
// will result in default browser behavior
});
Quick Fetch API Introduction
self.addEventListener('fetch', function(event) {
event.respondWith(
caches.match(event.request)
.then(function(response) {
return response || fetch(event.request);
})
);
});
Quick Fetch API Introduction
self.addEventListener('fetch', function(event) {
event.respondWith(
promiseAny([
caches.match(event.request),
fetch(event.request)
])
);
});
Quick Fetch API Introduction
self.addEventListener('fetch', function(event) {
event.respondWith(
fetch(event.request).catch(
function() { return
caches.match(event.request);
})
);
});
Quick Fetch API Introduction
self.addEventListener('fetch', function(event) {
event.respondWith(
caches.open('mysite-dynamic')
.then(function(cache) {
return fetch(event.request)
.then(function(response) {
cache.put(event.request, response.clone());
return response;
});
})
);
});
Quick Fetch API Introduction
self.addEventListener('fetch', function(event) {
event.respondWith(
caches.match(event.request)
.then(function(response) {
return response || fetch(event.request);
}).catch(function() {
return caches.match('/offline.html');
})
);
});
Quick Fetch API Introduction
Quick Fetch API Introduction
CACHE TOOLS
SERVICE WORKER
SERVICE WORKER TOOLS
Presentation Title Can Be Placed Here 94
 sw_precache
 A node module to generate service worker code that will precache
specific resources so they work offline.
 https://github.com/googlechrome/sw-precache
 sw_toolbox
 A collection of service worker tools for offlining runtime requests
 https://github.com/GoogleChrome/sw-toolbox
Presentation Title Can Be Placed Here 95
Quick Fetch API Introduction
PUSH NOTIFICATIONS
SERVICE WORKER
INCREASED ENGAGEMENT
72% increase in time spent for users visiting via a push
notification
26% increase in average spend per visit by members
arriving via a push notification
+50% repeat visits within 3 month
INCREASED ENGAGEMENT
PUSH NOTIFICATION
{
"body": "Did you make a $1,000,000 purchase at Dr. Evil...",
"icon": "images/ccard.png",
"vibrate": [200, 100, 200, 100, 200, 100, 400],
"tag": "request",
"actions": [
{ "action": "yes", "title": "Yes", "icon": "images/yes.png" },
{ "action": "no", "title": "No", "icon": "images/no.png" }
]
}
PUSH NOTIFICATION
Quick Fetch API Introduction
FEATURE DETECTION
//Check if Push is Supported
If(!”PushManager” in window){
//TODO: Disable Push API
return;
}
SUBSCRIBE USER
navigator.serviceWorker.ready
.then(function(serviceWorkerRegistration){
…
});
SUBSCRIBE USER
serviceWorkerRegistration.pushManager
.subscribe({userVisibileOnly: true})
.then(function(subscription){
//the subscription was successful
…
})
.catch(function(error){…});
PUSH IN A SERVICE WORKER
self.addEventListener(“push”, function(event){
console.log(“received a push message”, event);
});
PUSH IN A SERVICE WORKER
event.waitUntil(
self.registration.showNotification(title, {
body: body,
icon: icon,
tag: tag
});
UNSUBSCRIBE
navigator.serviceWorker.ready
.then(function(pushSubscription){
if(!pushSubscription){
if(pushSubscription){
return;
}
})
.catch(…)
Quick Fetch API Introduction

More Related Content

PDF
WebGUI Developers Workshop
PPTX
Web deploy command line
PPTX
Web deploy
PDF
OSCON Google App Engine Codelab - July 2010
PDF
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
PPTX
Power Shell and Sharepoint 2013
PPTX
Introduction to windows power shell in sharepoint 2010
PPT
Play!ng with scala
WebGUI Developers Workshop
Web deploy command line
Web deploy
OSCON Google App Engine Codelab - July 2010
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
Power Shell and Sharepoint 2013
Introduction to windows power shell in sharepoint 2010
Play!ng with scala

What's hot (20)

PDF
URLProtocol
PDF
Keeping the frontend under control with Symfony and Webpack
PPTX
Python Code Camp for Professionals 1/4
KEY
LvivPy - Flask in details
PDF
Introducing Assetic: Asset Management for PHP 5.3
PDF
JavaScript APIs - The Web is the Platform
PDF
The Coolest Symfony Components you’ve never heard of - DrupalCon 2017
PPTX
Python Code Camp for Professionals 2/4
PDF
Diseño y Desarrollo de APIs
PDF
Flask patterns
PDF
Python Flask Tutorial For Beginners | Flask Web Development Tutorial | Python...
PPTX
Flask – Python
PPT
Building Single Page Application (SPA) with Symfony2 and AngularJS
PPTX
Build restful ap is with python and flask
PDF
Filling the flask
PDF
Laravel 101
PDF
Symfony: Your Next Microframework (SymfonyCon 2015)
PPTX
Webinar - Office 365 & PowerShell : A Match Made in Heaven
PDF
Silex Cheat Sheet
PDF
AspNetWhitePaper
URLProtocol
Keeping the frontend under control with Symfony and Webpack
Python Code Camp for Professionals 1/4
LvivPy - Flask in details
Introducing Assetic: Asset Management for PHP 5.3
JavaScript APIs - The Web is the Platform
The Coolest Symfony Components you’ve never heard of - DrupalCon 2017
Python Code Camp for Professionals 2/4
Diseño y Desarrollo de APIs
Flask patterns
Python Flask Tutorial For Beginners | Flask Web Development Tutorial | Python...
Flask – Python
Building Single Page Application (SPA) with Symfony2 and AngularJS
Build restful ap is with python and flask
Filling the flask
Laravel 101
Symfony: Your Next Microframework (SymfonyCon 2015)
Webinar - Office 365 & PowerShell : A Match Made in Heaven
Silex Cheat Sheet
AspNetWhitePaper
Ad

Similar to Quick Fetch API Introduction (20)

PPTX
Real World Lessons in Progressive Web Application & Service Worker Caching
PDF
Advanced #2 networking
PDF
Google Cloud Endpoints: Building Third-Party APIs on Google AppEngine
PPTX
Introduction to the SharePoint Client Object Model and REST API
PPTX
SW Security Lec4 Securing architecture.pptx
PPTX
Quick and Easy Development with Node.js and Couchbase Server
PPT
Asp.net
PPTX
Best Practices for Architecting a Pragmatic Web API.
PPTX
SharePoint Object Model, Web Services and Events
PDF
ReactJS for Programmers
PPTX
Writing HTML5 Web Apps using Backbone.js and GAE
PPTX
Advanced SharePoint Web Part Development
PDF
OSGi and Spring Data for simple (Web) Application Development - Christian Bar...
PDF
OSGi and Spring Data for simple (Web) Application Development
PDF
How To Manage API Request with AXIOS on a React Native App
PDF
Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...
PDF
Future of Web Apps: Google Gears
PDF
Intro to Laravel 4
KEY
Html5 For Jjugccc2009fall
PPTX
Childthemes ottawa-word camp-1919
Real World Lessons in Progressive Web Application & Service Worker Caching
Advanced #2 networking
Google Cloud Endpoints: Building Third-Party APIs on Google AppEngine
Introduction to the SharePoint Client Object Model and REST API
SW Security Lec4 Securing architecture.pptx
Quick and Easy Development with Node.js and Couchbase Server
Asp.net
Best Practices for Architecting a Pragmatic Web API.
SharePoint Object Model, Web Services and Events
ReactJS for Programmers
Writing HTML5 Web Apps using Backbone.js and GAE
Advanced SharePoint Web Part Development
OSGi and Spring Data for simple (Web) Application Development - Christian Bar...
OSGi and Spring Data for simple (Web) Application Development
How To Manage API Request with AXIOS on a React Native App
Advanced SharePoint 2010 and 2013 Web Part Development by Rob Windsor - SPTec...
Future of Web Apps: Google Gears
Intro to Laravel 4
Html5 For Jjugccc2009fall
Childthemes ottawa-word camp-1919
Ad

More from Chris Love (20)

PPTX
Introduction to Progressive Web Applications
PPTX
Introduction to Progressive Web Applications
PPTX
Lazy load Website Assets
PPTX
Progressive Web Apps for Education
PPTX
The server is dead going serverless to create a highly scalable application y...
PPTX
A Day Building Fast, Responsive, Extensible Single Page Applications
PPTX
Disrupting the application eco system with progressive web applications
PPTX
Service workers your applications never felt so good
PPTX
Develop a vanilla.js spa you and your customers will love
PPTX
JavaScript front end performance optimizations
PPTX
Advanced front end debugging with ms edge and ms tools
PPTX
Html5 Fit: Get Rid of Love Handles
PPTX
Using Responsive Web Design To Make Your Web Work Everywhere - Updated
PPTX
Implementing a Responsive Image Strategy
PPTX
Using Responsive Web Design To Make Your Web Work Everywhere
PPTX
10 things you can do to speed up your web app today 2016
PPT
Css best practices style guide and tips
PPTX
Using Responsive Web Design To Make Your Web Work Everywhere
PPTX
An Introduction to Microsoft Edge
PPTX
10 things you can do to speed up your web app today stir trek edition
Introduction to Progressive Web Applications
Introduction to Progressive Web Applications
Lazy load Website Assets
Progressive Web Apps for Education
The server is dead going serverless to create a highly scalable application y...
A Day Building Fast, Responsive, Extensible Single Page Applications
Disrupting the application eco system with progressive web applications
Service workers your applications never felt so good
Develop a vanilla.js spa you and your customers will love
JavaScript front end performance optimizations
Advanced front end debugging with ms edge and ms tools
Html5 Fit: Get Rid of Love Handles
Using Responsive Web Design To Make Your Web Work Everywhere - Updated
Implementing a Responsive Image Strategy
Using Responsive Web Design To Make Your Web Work Everywhere
10 things you can do to speed up your web app today 2016
Css best practices style guide and tips
Using Responsive Web Design To Make Your Web Work Everywhere
An Introduction to Microsoft Edge
10 things you can do to speed up your web app today stir trek edition

Recently uploaded (20)

PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Big Data Technologies - Introduction.pptx
PPTX
Spectroscopy.pptx food analysis technology
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Machine learning based COVID-19 study performance prediction
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Encapsulation_ Review paper, used for researhc scholars
Diabetes mellitus diagnosis method based random forest with bat algorithm
The Rise and Fall of 3GPP – Time for a Sabbatical?
Building Integrated photovoltaic BIPV_UPV.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Big Data Technologies - Introduction.pptx
Spectroscopy.pptx food analysis technology
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Digital-Transformation-Roadmap-for-Companies.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Empathic Computing: Creating Shared Understanding
Unlocking AI with Model Context Protocol (MCP)
Machine learning based COVID-19 study performance prediction
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Understanding_Digital_Forensics_Presentation.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx

Quick Fetch API Introduction

Editor's Notes

  • #2: Note: To Change the Background Picture Follow the steps below Mouse Right button click>Format Background>Select Picture or Texture File>Click “File” button>Browse and select the image from your computer>Click Insert That’s it. You are Done !!!
  • #3: Note: To Change the Background Picture Follow the steps below Mouse Right button click>Format Background>Select Picture or Texture File>Click “File” button>Browse and select the image from your computer>Click Insert That’s it. You are Done !!!
  • #4: Note: To Change the Background Picture Follow the steps below Mouse Right button click>Format Background>Select Picture or Texture File>Click “File” button>Browse and select the image from your computer>Click Insert That’s it. You are Done !!!
  • #56: Note: To Change the Background Picture Follow the steps below Mouse Right button click>Format Background>Select Picture or Texture File>Click “File” button>Browse and select the image from your computer>Click Insert That’s it. You are Done !!!
  • #57: Note: To Change the Background Picture Follow the steps below Mouse Right button click>Format Background>Select Picture or Texture File>Click “File” button>Browse and select the image from your computer>Click Insert That’s it. You are Done !!!
  • #62: Note: Picture size will be 3” X 2.5” If picture is not exist, To insert the picture click on the icon of Picture you will automatically get the option to browse and select picture If any picture is exist, Take the mouse over the picture Right button click of the mouse Select Change picture Now browse and select the right picture you want