Difference between revisions of "Chrome extension"

From Publication Station
Line 87: Line 87:


=Examples=
=Examples=
An interesting example of Chrome extensions is Raphael Rozendall [http://www.abstractbrowsing.net/ Abstract Browsing ]   
Raphael Rozendall [http://www.abstractbrowsing.net/ Abstract Browsing
 
[https://chrome.google.com/webstore/detail/text-free-browsing/ioglfbphilinnhdmfbmfljmhemegfcdg/related?utm_source=vk/ Text Free Browsing ] 
[https://chrome.google.com/webstore/detail/cornify-unicorn-and-rainb/ghdnfbmfflgelndafnlgabneckbmfpla?utm_source=vk/ Cornify ]   


[[Category:Research]]  
[[Category:Research]]  
[[Category:Tutorial]]
[[Category:Tutorial]]

Revision as of 12:21, 9 April 2019

Creating a Chrome browser extension can be extremely simple.

https://developer.chrome.com/extensions/getstarted provides a good starting point tutorial. But I'll try provide a simpler tutorial, on how to create a extensions that turns the background of pages red and rotates all the elements.

We'll start by creating an extension folder

And adding to it the following files:

  • manifest.json a metadata file in JSON format containing properties of your extension: name, description, version number
  • icon.png the icon of the extension
  • popup.html content shown when user clicks the extension icon
  • jquery-3.1.1.min.js a jquery library downloaded
  • content.js JavasScript file where we'll add the action we'll like the extension to perform

files

manifest.json

{
"manifest_version": 2,

"name": "Communist extension",
"description": "This extension turns you page red",
"version": "1.0",

"browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
},
    "permissions": [ ],
    "content_scripts": [
	{
            "matches": ["<all_urls>"  ],
            "js": ["jquery-3.1.1.min.js", "content.js"]
	}

    ]

}

popup.html

<!doctype html>
<!--                                                                                                             
 This page is shown when the extension button is clicked, because the                                            
 "browser_action" field in manifest.json contains the "default_popup" key with                                   
 value "popup.html".                                                                                             
 -->
<html>
  <head>
    <title>Getting Started Extension's Popup</title>
    <style>
      body {
      background:red;
      color: white;
      }
    </style>

    <!--                                                                                                         
      - JavaScript and HTML must be in separate files: see our Content Security                                  
     -->
  </head>
  <body>
    <h2>Red extention</h2>
  </body>
</html>

content.js

console.log('hello from red extension');

/* make body background red; all elements ('*') with blue color and rotated 180deg */
$('body').css('background', 'red', 'important');
$('*').css('color','blue', 'important');
$('*').css('-webkit-transform','rotate(180deg)', 'important')


load the extension

To load the extension:

  • visit chrome://extensions in your brows
  • Ensure that the Developer mode checkbox in the top right-hand corner is checked.
  • Click Load unpacked extension… to pop up a file-selection dialog.
  • Navigate to the directory in which your extension files live, and select it.
  • Alternatively, you can drag and drop the directory where your extension files live onto chrome://extensions in your browser to load it.
  • If the extension is valid, it'll be loaded up and active right away! If it's invalid, an error message will be displayed at the top of the page. Correct the error, and try again.

Examples

Raphael Rozendall Abstract Browsing

Text Free Browsing Cornify