Skip to content

Load javascripts only when the user interacts with your OpenMage website

Notifications You must be signed in to change notification settings

fballiano/openmage-load-javascripts-on-intent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenMage Load Javascripts On Intent

THIS MODULE IS IN ALPHA STAGE AND IT'S NOT WORKING YET

What to obtain 100% PageSpeed score? Install this module then ;-)

What does it do? it proceses the HTML of every page, converting all javascript to text/plain, actually avoiding them from being loaded by the browsers on page load. Then injects a small javascript that will load all the other scripts only when the user starts interacting with the page (with a mouse movement, a click, a scroll or a few other events).

If you find my work valuable, please consider sponsoring
Sponsor me on GitHub Buy me a coffee Donate via PayPal

Notes

This module should work with cookie management solutions (eg: CookieBot) that modify the script tags setting them as text/plain and adding a data-cookiesomething attribute. In fact all script tags with text/plain type and any data- will not be processed by the module, they will be skipped entirely.

This module also works with inline scripts.

Backup!!!

Backup everything while using this module!!! This module is provided "as is" and I'll not be responsible for any data damage.

Installation

With composer:

composer require fballiano/openmage-load-javascripts-on-intent

With modman:

modman clone https://github.com/fballiano/openmage-load-javascripts-on-intent

Compatibility

OpenMage v19, OpenMage v20, Magento 1.9+

Support

If you have any issues with this extension, open an issue on GitHub.

Contribution

Any contributions are highly appreciated. The best way to contribute code is to open a pull request on GitHub.

Developer

Fabrizio Balliano
http://fabrizioballiano.com
@fballiano

Licence

OSL - Open Software Licence 3.0

Copyright

(c) Fabrizio Balliano