• Stars
    star
    1,415
  • Rank 33,251 (Top 0.7 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created about 14 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

[DEPRECATED] Webshims Lib is a modular capability-based polyfill-loading library

Important note: Webshim is not compatible with upcoming jQuery 3.x and I do not plan to work on a new major version. I will still fix critical bugs in the future though.

Webshim

The polyfilling, capability based loading JavaScript Library

General Principles

  • HTML5 compliant: correctly and accurately implemented (HTML5) Markup-, JS- and DOM-APIs
  • capability based loading: extremely lightweight in modern browsers
  • cross-browser support: All A-Graded browsers including latest version of Opera are tested
  • extendable: if we have not implemented a feature you want, you can easily implement it on your own

Features

  • canvas
  • HTML5 form features including: constraint validation and form widgets (input[type="range"], input[type="date"], input[type="number"], input[type="time"], input[type="month"], output, progress, input[list]/datalist)
  • HTML5 audio/video/track implementation
  • matchMedia
  • interactive elements: summary/details
  • XHR2 / filereader (including, XHR2/AJAX CORS and FormData handling)
  • picture / img[srcset]
  • promise
  • geolocation
  • ECMAScript 5 / JavaScript 1.8.5 features
  • window.URL
  • getUserMedia ('usermedia' currently only access to user's camera, not microphone)
  • sticky (position: sticky)

Installation and Usage

1 - Download the Webshim Lib and put the js-webshim folder in your project.

2 - Include the JavaScript:

<script src="js/jquery.js"></script>

<script src="js-webshim/minified/polyfiller.js"></script> 

<script> 
	// load and implement all unsupported features 
	webshims.polyfill();
		
	// or only load a specific feature
	//webshims.polyfill('forms es5');
</script>

3 - Wait till everything has been loaded and then use it:

<script> 
	$(function(){
		// work with the HTML5 API
		$('input:invalid').each(function(){
		    $(this).after( $.prop(this, 'validationMessage') );
		});
		// ...
	});
</script>

More information and demos.

Download via bower

bower install webshim --save-dev

License

The Webshims Lib core is licensed under the MIT-License.

Webshims Lib uses many great third party scripts:

Script License URL
flashcanvas MIT http://code.google.com/p/flashcanvas
flashcanvaspro closed http://flashcanvas.net
Jaris FLV GPL 3.0 http://jarisflvplayer.org
excanvas Apache License 2.0 http://excanvas.sourceforge.net
moxie GPL 3.0 https://github.com/moxiecode/moxie
es5 MIT https://github.com/280north/narwhal
swfmini MIT https://code.google.com/p/swfobject
track BSD 2 clause https://github.com/cgiffard/Captionator
color-picker MIT http://johndyer.name/post/2007/09/PhotoShop-like-JavaScript-Color-Picker.aspx
forms-picker MIT https://github.com/brandonaaron/jquery-mousewheel
jme.woff GPL / CC BY 3.0 http://icomoon.io/#preview-free
picture MIT https://github.com/scottjehl/picturefill
url any (OSI approved) Open Source licence https://github.com/inexorabletash/polyfill

Questions?

If you have any questions, please feel free to ask them on stackoverflow.com/questions/tagged/webshim.

Please tag your questions with 'webshim'.

More Repositories

1

lazysizes

High performance and SEO friendly lazy loader for images (responsive and normal), iframes and more, that detects any visibility changes triggered through user interaction, CSS or JavaScript without configuration.
JavaScript
17,479
star
2

html5shiv

This script is the defacto way to enable use of HTML5 sectioning elements in legacy Internet Explorer.
JavaScript
9,885
star
3

respimage

respimage is a responsive images polyfill, that loads your images fast and responsibly
JavaScript
778
star
4

requestIdleCallback

A requestIdleCallback shim/polyfill
JavaScript
182
star
5

jMediaelement

jquery multimedia framework
JavaScript
150
star
6

Ajaxmanager

An jQuery Plugin, wich helps you to manage AJAX requests and responses (i.e. abort requests, block requests, order requests)
JavaScript
99
star
7

wp-lazysizes

Brings lazySizes.js to WordPress
JavaScript
64
star
8

remote-list

super lightweight autocomplete
JavaScript
53
star
9

accessible--stylable-Radiobuttons-and-Checkboxes

helps you to create accessible and stylable custom checkboxes and radiobuttons
JavaScript
37
star
10

link-preload

JavaScript
9
star
11

x-browser-accessors

cross browser DOM setter / getters (even for IE6)
JavaScript
9
star
12

think.dom

think.dom helps you to create smart, self-contained, self-initializing, reusable, descriptive UI widgets
JavaScript
7
star
13

lazyflickity

HTML
7
star
14

scroll-perf

HTML
3
star
15

layout-thrashing

Slides for the Talk "Avoid Layout Thrashing - The easy way."
CSS
3
star
16

tutorial_review_tmp

3
star
17

foo

1
star
18

respimg-load

HTML
1
star
19

tmp-webpack

JavaScript
1
star
20

portfolio_help

Please help afarkas!
HTML
1
star
21

validation-rules

JavaScript
1
star