Building a Chrome extension Chance Feick |. Outline History Development – Manifest File – Content Scripts – chrome.* API Installation Deployment Live.

Slides:



Advertisements
Similar presentations
Samsung Smart TV is a web-based application running on an application engine installed on digital TVs connected to the Internet.
Advertisements

CS 1150 – Lab #16A & 16B – HTML TA – Sanjaya Wijeratne – Web Page -
Copyright © 2012 Certification Partners, LLC -- All Rights Reserved Lesson 4: Web Browsing.
Seattle Drupal Clinic Introduction to Drupal and Web Content Management.
An Evaluation of the Google Chrome Extension Security Architecture
Lesson 4: Web Browsing.
Languages for Dynamic Web Documents
Options for Deploying Apps / Add-Ins Deploying to the Store Deploying To Exchange Deploying to The Corporate Catalog Additional Approaches.
SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present.
A problem in IMS Learning Design To promote interoperability, few services Local tool frameworks like LAMS have much richer tool environment –Easy provisioning.
Does Ajax suck? CS575 Spring 2007 Chanwit Suebsureekul.
Introduction Web Development II 5 th February. Introduction to Web Development Search engines Discussion boards, bulletin boards, other online collaboration.
Introduction to JavaScript. Aim To enable you to write you first JavaScript.
ITM352 Javascript and Dynamic Web Pages: Client Side Processing.
©2012 Microsoft Corporation. All rights reserved. Content based on SharePoint 15 Technical Preview and published July Thierry Gasser TSP
Forms, Validation Week 7 INFM 603. Announcements Try placing today’s example in htdocs (XAMPP). This will allow you to execute examples that rely on PHP.
Presented by…. Group 2 1. Programming language 2Introduction.
Christopher Paolini Computational Science Research Center College of Engineering San Diego State University Computational Science 670 Fall 2009 Monday.
Additional Topics. Tutorial #9 Review – Forms Forms Legend and fieldset Fields Text Password Radio buttons, check box, text area, select lists Buttons.
Ruth Betcher Ruth Christie
Server-side Scripting Powering the webs favourite services.
Java Mobile Apps with GWT & PhoneGap Josh Marinacci, webOS Developer Advocate.
Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University.
Unit 1 – Web Concepts Instructor: Brent Presley. ASSIGNMENT Read Chapter 1 Complete lab 1 – Installing Portable Apps.
Title, meta, link, script.  The title looks like:  The tag defines the title of the document in the browser toolbar.  It also: ◦ Provides a title for.
1. 2 Single Admin Interface to Manage all mobile users and their devices: Add/Remove User profiles Add/Remove/Modify User Groups Set access permissions.
Intro to Web Dev Session 2 – Planning and Structure.
MIS 424 Professor Sandvig. Overview  Why Analytics?  Two major approaches:  Server logs  Google Analytics.
2006 Adobe Systems Incorporated. All Rights Reserved. 1 Adobe RIA Technologies: Adobe Flex 3 Cornel Creanga Platform Evangelist
Seattle Drupal Clinic Introduction to Drupal Part 1: Web Content Management, Advantages/Disadvantages of Drupal, Drupal terminology.
JavaScript - A Web Script Language Fred Durao
Extend the Operations Dashboard with Custom Widgets (and more)
Internet & World Wide Web How to Program, 5/e © by Pearson Education, Inc. All Rights Reserved.
IPSOS / Vodafone / Novartis Kenya 17 December 2014.
Quicksoft Project Team 6 Team members: Brian H Johnson Brannen J Sorem Kenneth Ng, Project Manager Michael Puzon, QA Catherine Gamboa, UI lead.
Extending the Operations Dashboard
Ajax for Dynamic Web Development Gregory McChesney.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
HTML Overview Part 5 – JavaScript 1. Scripts 2  Scripts are used to add dynamic content to a web page.  Scripts consist of a list of commands that execute.
CIS 375—Web App Dev II JavaScript I. 2 Introduction to DTD JavaScript is a scripting language developed by ________. A scripting language is a lightweight.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
1 Isolating Web Programs in Modern Browser Architectures CS6204: Cloud Environment Spring 2011.
ASP. ASP is a powerful tool for making dynamic and interactive Web pages An ASP file can contain text, HTML tags and scripts. Scripts in an ASP file are.
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
JavaScript & Introduction to AJAX
Google Chrome Extensions var title = “ Google Chrome Extensions ”; $(this).attr(“title”, title); $(this).data({ description: ‘How to create and distribute’,
COSC 2328 – Web Programming.  PHP is a server scripting language  It’s widely-used and free  It’s an alternative to Microsoft’s ASP and Ruby  PHP.
Overview Web Technologies Computing Science Thompson Rivers University.
Google App Engine using Java 1. Outline Getting started Guestbook example Todo example Simplified Madlib 2.
Excel Services Displays all or parts of interactive Excel worksheets in the browser –Excel “publish” feature with optional parameters defined in worksheet.
Wes Preston DEV 202. Audience: Info Workers, Dev A deeper dive into use-cases where client-side rendering (CSR) and SharePoint’s JS Link property can.
By Ondrej Rafaj Get More Sales in the iPhone App Store by improving your organic results.
Google App Engine using Java 1. Outline Getting started Guestbook example Todo example Simplified Madlib 2.
4.3. Code animations by using JavaScript Access data access by using JavaScript. Creating Animations, Working with Graphics, and Accessing Data.
HTML5 Semantic
November 21, 2016 Web Technologies in the IUB Libraries’ Web Site AJAX, More than Scrubbing the Tub: Doug Ryner & Tadas Paegle.
ArcGIS for Server Security: Advanced
Web Technologies Computing Science Thompson Rivers University
File Management in the Cloud
Objectives Create a folder in Google Drive.
Example of a table. Note that I looked at an example under CIS44.
© 2016, Mike Murach & Associates, Inc.
SharePoint Framework Extensions
Deployment (Chrome Extension)
Part 2 Setting up a web server the easy way
Unit 6 part 3 Test Javascript Test.
Web Page Design CIS 300.
And I have to create mobile apps too?
Web Technologies Computing Science Thompson Rivers University
Presentation transcript:

Building a Chrome extension Chance Feick |

Outline History Development – Manifest File – Content Scripts – chrome.* API Installation Deployment Live Demo

History Released in September 2008 Open source web browser Chromium 37% of worldwide browser usage Underlying technologies – WebKit rendering engine to display pages – V8 JavaScript Engine

Development Technologies HTML CSS JavaScript Google Apps Script manifest.json JSON-formatted table of contents Required permissions stated here

Development Cont. manifest.json Code Snippet

Development Cont. Content Scripts Read DOM of current web page, then make changes Exchanges messages with parent extension JavaScript and HTML must be in separate files

Development Cont. Invalid JavaScript Code Snippet Invalid <!-- - JavaScript and HTML must be in separate files: see our Content Security - Policy documentation[1] for details and explanation. - - [1]: --> function myFunction() { alert("Hello! I am an alert box!"); } Invalid <!-- - JavaScript and HTML must be in separate files: see our Content Security - Policy documentation[1] for details and explanation. - - [1]: --> function myFunction() { alert("Hello! I am an alert box!"); }

Development Cont. Valid JavaScript Code Snippet Valid <!-- - JavaScript and HTML must be in separate files: see our Content Security - Policy documentation[1] for details and explanation. - - [1]: --> Valid <!-- - JavaScript and HTML must be in separate files: see our Content Security - Policy documentation[1] for details and explanation. - - [1]: --> function myFunction() { alert("Hello! I am an alert box!"); } function myFunction() { alert("Hello! I am an alert box!"); }

Development Cont. chrome.* API – Asynchronous Methods – Synchronous Methods chrome.tabs.create(object createProperties, function callback) Asynchronous Method Code Snippet Synchronous Method Code Snippet

Development Cont. { "name": "My extension",... "permissions": [ "bookmarks" ],... } { "name": "My extension",... "permissions": [ "bookmarks" ],... } Figure 1 Figure 2

Installation Enter Developer Mode Types of installations Unpacked – Does not require.crx file – Does not require hosting Packed – Requires.crx file. – Use Google Chrome Extensions API Refresh extension

Deployment Google Chrome Web Store Released in December 2010 Free and paid applications Google Chrome Developer Dashboard Extensions Apps Themes One-time fee of $5 USD Verification Security for users

Deployment Cont. Requirements manifest.json file One or more.html files.zip file of item directory Optional One or more.js files Product Icon – 128px, 48px, 16px.crx file created after upload to Dev Dash

Live Demo

References nifest.html nifest.html ntent_scripts.html ntent_scripts.html _index.html _index.html

Questions? Submit