Skip to content

OctoLinker/injection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

injection

NPM version Build Status

Tiny script which helps you to build better browser extensions for GitHub.com

Why you need this package

GitHub.com is a huge web app with millions of visitors every day. To reduce the serve load, some parts are build as a single page app. This means, not every click results in a page reload. This is a big problem for some extension scenarios.

GitHub.com uses pjax which fires an event after replacing the requested page with the previous one. GitHub-inject will invoke the provided callback when pjax:end is dispatched and you can reinitialize your extension. For simplicity the callback is also executed on the first script execution.

Install

$ npm install --save github-injection

Usage

const gitHubInjection = require('github-injection');

gitHubInjection(() => {
  const el = window.document.getElementsByClassName('header')[0];
  const randomColor = '#' + ((1<<24) * Math.random()|0).toString(16);
  el.style.backgroundColor = randomColor;
});

License

Copyright (c) 2015 Stefan Buck. Licensed under the MIT license.