SlideShare a Scribd company logo
Browser Extensions 
Introduction
What are they ? 
An extension of the Web browser 
The terminology, however, maybe different for different browsers; you have Chrome Extensions and Firefox Add-ons and … well others … 
*And also, Chrome extensions can be installed and run only on Google Chrome, whereas Firefox Add-ons can be installed and run only on Mozilla Firefox and so on.
What are they ? 
•Applications/Programs that are run by the browser, inside the browser. 
So your application executes when the user starts the browser 
•They build customized features on top of the browser that can make a user’s life easy, enable him to do more stuff
Why have extensions ? 
•A browser in its base form provides only the absolutely necessary features/functionality 
•Extensions can provide more features on top of the basic browser functionality. These features can make a user’s life easier, enable him to do more stuff etc. 
•This enables users to install only features they use, and not unnecessarily load the browser with useless (for the user) features
Best way to understand … Examples 
An Extension that keeps showing new Facebook notifications without needing to open Facebook in a tab
Best way to understand … Examples 
An Extension that lets you save documents to Google Drive on the fly
They are developed in … 
Extensions for most browsers are written in JavaScript. At least for Chrome and Firefox they are. 
Advanced Extensions usually use JSON and AJAX (a lot !) to do complex stuff.
How do they work ? … Collect Information 
When your extension (JavaScript code) runs inside the browser, it can access various information, like: 
1.Page Url 
2.Html of the entire page 
3.If user has selected something, and what has he selected 
4.If the user clicked 
etcetcetc..
How do they work ? … Do Stuff 
Using the above information, they can do a lot of cool stuff, like: 
1.Remove all the ads on the page 
2.Suggest similar pages on the internet 
3.Organize the tabs in a better way rather than in a row 
4.Show a user how much time he spends on which page 
etcetcetc…
But How to Collect Information and Do Stuff 
•Have you ever written JavaScript ? I hope you have … 
•Have you ever collected information in JavaScript, say 
read the Url: << document.URL>> 
Orread the page HTML : << document.documentElement.innerHTML>> 
•And have you ever done stuff in JavaScript, say 
Alert the user: << alert(“Hi, you are at :” + document.URL);>> 
OrChange the page contents: << document.documentElement.innerHtml= “Hey, we removed all content from your page :P”;>> 
Then you are all set to develop Extensions !!
But How to Collect Information and Do Stuff 
(At a broader level), you just need to keep writing that JavaScript and give it to the browser and the browser will run it on the webpage for you ! 
Well, that is, if the user has installed your Extension :D
It’s a different thing, however, 
that with an extension, you can collect more information than just the page Urland Html Content and do much more stuff :D 
You can have a user sign into his Google Account or Facebook Account using their OauthIds. This will give you access to the user’s name, email etcetc…
Just a little more complex … really ! 
Usually, browsers won’t just ask you for a list of javascriptfiles and run them on the user’s webpage 
They will have various parts, ex: 
1.A set of scripts that will run in the user’s webpage. The browser runs a separate copy of these for each tab. They can read anything in that tab, modify the page etc… 
2.A set of scripts that will run in the background. They are not specific to any one webpage/tab in the browser. But they can talk to the first set of scripts 
This organization of files/code is specific to the browser for which you are making the extension
Useful Resources 
•http://talks.codegram.com/creating-basic-chrome- extensions#/description 
•Google Chrome Extension Tutorial: https://developer.chrome.com/extensions/overview 
•Chrome Storage API (lets your extension save data on user’s computer that can be used later) https://developer.chrome.com/apps/storage#property-local

More Related Content

What's hot

Hi600 ch09_text_slides
Hi600 ch09_text_slidesHi600 ch09_text_slides
Hi600 ch09_text_slides
ljmcneill33
 
Web Standards
Web StandardsWeb Standards
Web Standards
ChrisF1502010
 
Computer Ethics Presentation
Computer Ethics PresentationComputer Ethics Presentation
Computer Ethics Presentationguest65a1c4
 
Web tools ppt
Web tools pptWeb tools ppt
Web tools ppt
Tamara Pia Agavi
 
Living in the IT Era - Lesson 4.pptx
Living in the IT Era - Lesson 4.pptxLiving in the IT Era - Lesson 4.pptx
Living in the IT Era - Lesson 4.pptx
Froilan Cantillo
 
21RMI56-Research Methodology Mod 1 and 2
21RMI56-Research Methodology Mod 1 and 221RMI56-Research Methodology Mod 1 and 2
21RMI56-Research Methodology Mod 1 and 2
RoopaDNDandally
 
Human Computer Interaction Chapter 2 Interaction and Interaction Design Basi...
Human Computer Interaction Chapter 2  Interaction and Interaction Design Basi...Human Computer Interaction Chapter 2  Interaction and Interaction Design Basi...
Human Computer Interaction Chapter 2 Interaction and Interaction Design Basi...
VijiPriya Jeyamani
 
Thesis plagiarism checker
Thesis plagiarism checkerThesis plagiarism checker
Thesis plagiarism checker
Techsparks
 
PRESENTASI WEB
PRESENTASI WEBPRESENTASI WEB
PRESENTASI WEB
Budi Purwanto
 
Chapter 3 Breaking up long sentences (ENGLISH FOR WRITING RESEARCH PAPERS)
Chapter 3 Breaking up long sentences (ENGLISH FOR WRITING RESEARCH PAPERS)Chapter 3 Breaking up long sentences (ENGLISH FOR WRITING RESEARCH PAPERS)
Chapter 3 Breaking up long sentences (ENGLISH FOR WRITING RESEARCH PAPERS)
Hafiza Abas
 

What's hot (12)

Hi600 ch09_text_slides
Hi600 ch09_text_slidesHi600 ch09_text_slides
Hi600 ch09_text_slides
 
Ethics in using computer
Ethics in using computerEthics in using computer
Ethics in using computer
 
E Mail Basic
E Mail BasicE Mail Basic
E Mail Basic
 
Web Standards
Web StandardsWeb Standards
Web Standards
 
Computer Ethics Presentation
Computer Ethics PresentationComputer Ethics Presentation
Computer Ethics Presentation
 
Web tools ppt
Web tools pptWeb tools ppt
Web tools ppt
 
Living in the IT Era - Lesson 4.pptx
Living in the IT Era - Lesson 4.pptxLiving in the IT Era - Lesson 4.pptx
Living in the IT Era - Lesson 4.pptx
 
21RMI56-Research Methodology Mod 1 and 2
21RMI56-Research Methodology Mod 1 and 221RMI56-Research Methodology Mod 1 and 2
21RMI56-Research Methodology Mod 1 and 2
 
Human Computer Interaction Chapter 2 Interaction and Interaction Design Basi...
Human Computer Interaction Chapter 2  Interaction and Interaction Design Basi...Human Computer Interaction Chapter 2  Interaction and Interaction Design Basi...
Human Computer Interaction Chapter 2 Interaction and Interaction Design Basi...
 
Thesis plagiarism checker
Thesis plagiarism checkerThesis plagiarism checker
Thesis plagiarism checker
 
PRESENTASI WEB
PRESENTASI WEBPRESENTASI WEB
PRESENTASI WEB
 
Chapter 3 Breaking up long sentences (ENGLISH FOR WRITING RESEARCH PAPERS)
Chapter 3 Breaking up long sentences (ENGLISH FOR WRITING RESEARCH PAPERS)Chapter 3 Breaking up long sentences (ENGLISH FOR WRITING RESEARCH PAPERS)
Chapter 3 Breaking up long sentences (ENGLISH FOR WRITING RESEARCH PAPERS)
 

Viewers also liked

Introduction To Browser Extension Development
Introduction To Browser Extension DevelopmentIntroduction To Browser Extension Development
Introduction To Browser Extension Development
Steven James
 
Browser extension
Browser extensionBrowser extension
Browser extension
Cosmin Stefanache
 
Lec 4 introduction to the common web browsers
Lec 4 introduction to the common web browsersLec 4 introduction to the common web browsers
Lec 4 introduction to the common web browsers
Kewan Suliman
 
Introduction to Google Chrome Extensions Development
Introduction to Google Chrome Extensions DevelopmentIntroduction to Google Chrome Extensions Development
Introduction to Google Chrome Extensions Development
Jomar Tigcal
 
20100915 學習撰寫 Google Chrome Extension
20100915 學習撰寫 Google Chrome Extension20100915 學習撰寫 Google Chrome Extension
20100915 學習撰寫 Google Chrome Extension
Justin Lee
 
Chrome extension development
Chrome extension developmentChrome extension development
Chrome extension development
Mārtiņš Balodis
 
Making Chrome Extension with AngularJS
Making Chrome Extension with AngularJSMaking Chrome Extension with AngularJS
Making Chrome Extension with AngularJS
Ben Lau
 
A Complete Guide To Chrome Extension Development
A Complete Guide  To Chrome Extension  DevelopmentA Complete Guide  To Chrome Extension  Development
A Complete Guide To Chrome Extension Development
Steven James
 
Natural language processing (NLP) introduction
Natural language processing (NLP) introductionNatural language processing (NLP) introduction
Natural language processing (NLP) introduction
Robert Lujo
 
Practical Natural Language Processing
Practical Natural Language ProcessingPractical Natural Language Processing
Practical Natural Language ProcessingJaganadh Gopinadhan
 
Natural language processing
Natural language processingNatural language processing
Natural language processing
Yogendra Tamang
 
Introduction to Natural Language Processing
Introduction to Natural Language ProcessingIntroduction to Natural Language Processing
Introduction to Natural Language Processing
Pranav Gupta
 
Chrome Extension Develop Starts
Chrome Extension Develop StartsChrome Extension Develop Starts
Chrome Extension Develop Startstaobao.com
 

Viewers also liked (14)

Introduction To Browser Extension Development
Introduction To Browser Extension DevelopmentIntroduction To Browser Extension Development
Introduction To Browser Extension Development
 
Browser extension
Browser extensionBrowser extension
Browser extension
 
Lec 4 introduction to the common web browsers
Lec 4 introduction to the common web browsersLec 4 introduction to the common web browsers
Lec 4 introduction to the common web browsers
 
Introduction to Google Chrome Extensions Development
Introduction to Google Chrome Extensions DevelopmentIntroduction to Google Chrome Extensions Development
Introduction to Google Chrome Extensions Development
 
20100915 學習撰寫 Google Chrome Extension
20100915 學習撰寫 Google Chrome Extension20100915 學習撰寫 Google Chrome Extension
20100915 學習撰寫 Google Chrome Extension
 
Chrome extension development
Chrome extension developmentChrome extension development
Chrome extension development
 
Making Chrome Extension with AngularJS
Making Chrome Extension with AngularJSMaking Chrome Extension with AngularJS
Making Chrome Extension with AngularJS
 
A Complete Guide To Chrome Extension Development
A Complete Guide  To Chrome Extension  DevelopmentA Complete Guide  To Chrome Extension  Development
A Complete Guide To Chrome Extension Development
 
Natural language processing (NLP) introduction
Natural language processing (NLP) introductionNatural language processing (NLP) introduction
Natural language processing (NLP) introduction
 
Practical Natural Language Processing
Practical Natural Language ProcessingPractical Natural Language Processing
Practical Natural Language Processing
 
Natural language processing
Natural language processingNatural language processing
Natural language processing
 
Introduction to Natural Language Processing
Introduction to Natural Language ProcessingIntroduction to Natural Language Processing
Introduction to Natural Language Processing
 
Natural Language Processing
Natural Language ProcessingNatural Language Processing
Natural Language Processing
 
Chrome Extension Develop Starts
Chrome Extension Develop StartsChrome Extension Develop Starts
Chrome Extension Develop Starts
 

Similar to Introduction to Web Browser Extension/Add-ons

Web browser extensions development
Web browser extensions developmentWeb browser extensions development
Web browser extensions development
dragoslargu
 
Introduction to web page
Introduction to web pageIntroduction to web page
Introduction to web page
Mahmoud Shaqria
 
A Quick View On Web Design By Speakerhead.com
A Quick View On Web Design By Speakerhead.comA Quick View On Web Design By Speakerhead.com
A Quick View On Web Design By Speakerhead.com
speakerhead-com
 
How and Why to extend Firefox
How and Why to extend FirefoxHow and Why to extend Firefox
How and Why to extend Firefox
Graham King
 
Presentation _ Unit no.1_ Lesson No. 1-2_ Grade 8.pptx
Presentation _ Unit no.1_ Lesson No. 1-2_ Grade 8.pptxPresentation _ Unit no.1_ Lesson No. 1-2_ Grade 8.pptx
Presentation _ Unit no.1_ Lesson No. 1-2_ Grade 8.pptx
arvieluces1
 
Google chrome extension
Google chrome extensionGoogle chrome extension
Google chrome extensionJohnny Kingdom
 
Module 4 Accessing the Internet
Module 4 Accessing the InternetModule 4 Accessing the Internet
Module 4 Accessing the Internet
daryu1
 
Chrome Extensions for Web Hackers
Chrome Extensions for Web HackersChrome Extensions for Web Hackers
Chrome Extensions for Web Hackers
Mark Wubben
 
FirefoxOs App Development by Adam
FirefoxOs App Development by Adam FirefoxOs App Development by Adam
FirefoxOs App Development by Adam
Mohammed Adam
 
Browser Extensions for Web Hackers
Browser Extensions for Web HackersBrowser Extensions for Web Hackers
Browser Extensions for Web Hackers
Mark Wubben
 
Module 3
Module 3Module 3
Module 3
Mitali Chugh
 
Web browser and serach engine
Web browser and serach engineWeb browser and serach engine
Web browser and serach engine
sharjeel malik
 
How Browsers Work -By Tali Garsiel and Paul Irish
How Browsers Work -By Tali Garsiel and Paul IrishHow Browsers Work -By Tali Garsiel and Paul Irish
How Browsers Work -By Tali Garsiel and Paul Irish
Nagamurali Reddy
 
More Browser Basics, Tips & Tricks 3 Draft 8
More Browser Basics, Tips & Tricks 3 Draft 8More Browser Basics, Tips & Tricks 3 Draft 8
More Browser Basics, Tips & Tricks 3 Draft 8
msz
 
Building & distributing chrome extensions and web apps
Building & distributing chrome extensions and web appsBuilding & distributing chrome extensions and web apps
Building & distributing chrome extensions and web apps
Roel Palmaers
 
Intro to advanced web development
Intro to advanced web developmentIntro to advanced web development
Intro to advanced web development
Stevie T
 
Nt1310 Final Exam Questions And Answers
Nt1310 Final Exam Questions And AnswersNt1310 Final Exam Questions And Answers
Nt1310 Final Exam Questions And Answers
Lisa Williams
 

Similar to Introduction to Web Browser Extension/Add-ons (20)

Web browser extensions development
Web browser extensions developmentWeb browser extensions development
Web browser extensions development
 
Webdesign
WebdesignWebdesign
Webdesign
 
Introduction to web page
Introduction to web pageIntroduction to web page
Introduction to web page
 
A Quick View On Web Design By Speakerhead.com
A Quick View On Web Design By Speakerhead.comA Quick View On Web Design By Speakerhead.com
A Quick View On Web Design By Speakerhead.com
 
How and Why to extend Firefox
How and Why to extend FirefoxHow and Why to extend Firefox
How and Why to extend Firefox
 
Presentation _ Unit no.1_ Lesson No. 1-2_ Grade 8.pptx
Presentation _ Unit no.1_ Lesson No. 1-2_ Grade 8.pptxPresentation _ Unit no.1_ Lesson No. 1-2_ Grade 8.pptx
Presentation _ Unit no.1_ Lesson No. 1-2_ Grade 8.pptx
 
Browsers
BrowsersBrowsers
Browsers
 
Google chrome extension
Google chrome extensionGoogle chrome extension
Google chrome extension
 
Module 4 Accessing the Internet
Module 4 Accessing the InternetModule 4 Accessing the Internet
Module 4 Accessing the Internet
 
Chrome Extensions for Web Hackers
Chrome Extensions for Web HackersChrome Extensions for Web Hackers
Chrome Extensions for Web Hackers
 
FirefoxOs App Development by Adam
FirefoxOs App Development by Adam FirefoxOs App Development by Adam
FirefoxOs App Development by Adam
 
Browser Extensions for Web Hackers
Browser Extensions for Web HackersBrowser Extensions for Web Hackers
Browser Extensions for Web Hackers
 
Module 3
Module 3Module 3
Module 3
 
Web browser and serach engine
Web browser and serach engineWeb browser and serach engine
Web browser and serach engine
 
How Browsers Work -By Tali Garsiel and Paul Irish
How Browsers Work -By Tali Garsiel and Paul IrishHow Browsers Work -By Tali Garsiel and Paul Irish
How Browsers Work -By Tali Garsiel and Paul Irish
 
More Browser Basics, Tips & Tricks 3 Draft 8
More Browser Basics, Tips & Tricks 3 Draft 8More Browser Basics, Tips & Tricks 3 Draft 8
More Browser Basics, Tips & Tricks 3 Draft 8
 
Building & distributing chrome extensions and web apps
Building & distributing chrome extensions and web appsBuilding & distributing chrome extensions and web apps
Building & distributing chrome extensions and web apps
 
Raju html
Raju htmlRaju html
Raju html
 
Intro to advanced web development
Intro to advanced web developmentIntro to advanced web development
Intro to advanced web development
 
Nt1310 Final Exam Questions And Answers
Nt1310 Final Exam Questions And AnswersNt1310 Final Exam Questions And Answers
Nt1310 Final Exam Questions And Answers
 

Recently uploaded

top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 

Recently uploaded (20)

top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 

Introduction to Web Browser Extension/Add-ons

  • 2. What are they ? An extension of the Web browser The terminology, however, maybe different for different browsers; you have Chrome Extensions and Firefox Add-ons and … well others … *And also, Chrome extensions can be installed and run only on Google Chrome, whereas Firefox Add-ons can be installed and run only on Mozilla Firefox and so on.
  • 3. What are they ? •Applications/Programs that are run by the browser, inside the browser. So your application executes when the user starts the browser •They build customized features on top of the browser that can make a user’s life easy, enable him to do more stuff
  • 4. Why have extensions ? •A browser in its base form provides only the absolutely necessary features/functionality •Extensions can provide more features on top of the basic browser functionality. These features can make a user’s life easier, enable him to do more stuff etc. •This enables users to install only features they use, and not unnecessarily load the browser with useless (for the user) features
  • 5. Best way to understand … Examples An Extension that keeps showing new Facebook notifications without needing to open Facebook in a tab
  • 6. Best way to understand … Examples An Extension that lets you save documents to Google Drive on the fly
  • 7. They are developed in … Extensions for most browsers are written in JavaScript. At least for Chrome and Firefox they are. Advanced Extensions usually use JSON and AJAX (a lot !) to do complex stuff.
  • 8. How do they work ? … Collect Information When your extension (JavaScript code) runs inside the browser, it can access various information, like: 1.Page Url 2.Html of the entire page 3.If user has selected something, and what has he selected 4.If the user clicked etcetcetc..
  • 9. How do they work ? … Do Stuff Using the above information, they can do a lot of cool stuff, like: 1.Remove all the ads on the page 2.Suggest similar pages on the internet 3.Organize the tabs in a better way rather than in a row 4.Show a user how much time he spends on which page etcetcetc…
  • 10. But How to Collect Information and Do Stuff •Have you ever written JavaScript ? I hope you have … •Have you ever collected information in JavaScript, say read the Url: << document.URL>> Orread the page HTML : << document.documentElement.innerHTML>> •And have you ever done stuff in JavaScript, say Alert the user: << alert(“Hi, you are at :” + document.URL);>> OrChange the page contents: << document.documentElement.innerHtml= “Hey, we removed all content from your page :P”;>> Then you are all set to develop Extensions !!
  • 11. But How to Collect Information and Do Stuff (At a broader level), you just need to keep writing that JavaScript and give it to the browser and the browser will run it on the webpage for you ! Well, that is, if the user has installed your Extension :D
  • 12. It’s a different thing, however, that with an extension, you can collect more information than just the page Urland Html Content and do much more stuff :D You can have a user sign into his Google Account or Facebook Account using their OauthIds. This will give you access to the user’s name, email etcetc…
  • 13. Just a little more complex … really ! Usually, browsers won’t just ask you for a list of javascriptfiles and run them on the user’s webpage They will have various parts, ex: 1.A set of scripts that will run in the user’s webpage. The browser runs a separate copy of these for each tab. They can read anything in that tab, modify the page etc… 2.A set of scripts that will run in the background. They are not specific to any one webpage/tab in the browser. But they can talk to the first set of scripts This organization of files/code is specific to the browser for which you are making the extension
  • 14. Useful Resources •http://talks.codegram.com/creating-basic-chrome- extensions#/description •Google Chrome Extension Tutorial: https://developer.chrome.com/extensions/overview •Chrome Storage API (lets your extension save data on user’s computer that can be used later) https://developer.chrome.com/apps/storage#property-local