Socket
Socket
Sign inDemoInstall

fg-loadcss

Package Overview
Dependencies
Maintainers
6
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fg-loadcss - npm Package Compare versions

Comparing version 2.0.0 to 2.0.1-0

55

dist/cssrelpreload.js

@@ -16,16 +16,26 @@ /*! loadCSS. [c]2017 Filament Group, Inc. MIT License */

// rel=preload feature support test
rp.support = function(){
// runs once and returns a function for compat purposes
rp.support = (function(){
var ret;
try {
return w.document.createElement( "link" ).relList.supports( "preload" );
ret = w.document.createElement( "link" ).relList.supports( "preload" );
} catch (e) {
return false;
ret = false;
}
};
return function(){
return ret;
};
})();
// if preload isn't supported, get an asynchronous load by using a non-matching media attribute
// then change that media back to its intended value on load
rp.bindMediaToggle = function( link, media ){
rp.bindMediaToggle = function( link ){
// remember existing media attr for ultimate state, or default to 'all'
var finalMedia = link.media || "all";
function enableStylesheet(){
link.media = media;
link.media = finalMedia;
}
// bind load handlers to enable media
if( link.addEventListener ){

@@ -36,2 +46,9 @@ link.addEventListener( "load", enableStylesheet );

}
// Set rel and non-applicable media type to start an async request
// note: timeout allows this to happen async to let rendering continue in IE
setTimeout(function(){
link.rel = "stylesheet";
link.media = "only x";
});
// also enable media after 3 seconds,

@@ -44,2 +61,3 @@ // which will catch very old browsers (android 2.x, old firefox) that don't support onload on link

rp.poly = function(){
// double check this to prevent external calls from running
if( rp.support() ){

@@ -53,16 +71,17 @@ return;

if( link.rel === "preload" && link.getAttribute( "as" ) === "style" && !link.getAttribute( "data-loadcss" ) ){
// remember existing media attr for ultimate state, or default to 'all'
var finalMedia = link.media || "all";
// bind listeners to toggle media back
rp.bindMediaToggle( link, finalMedia );
// if preload is not supported, kick off an asynchronous request by using a non-matching media query and rel=stylesheet
link.media = "x";
link.rel = "stylesheet";
// prevent rerunning on link
link.setAttribute( "data-loadcss", true );
// bind listeners to toggle media back
rp.bindMediaToggle( link );
}
}
};
// if unsupported, run the polyfill
if( !rp.support() ){
// run once at least
rp.poly();
// rerun poly on an interval until onload
var run = w.setInterval( rp.poly, 300 );
var run = w.setInterval( rp.poly, 500 );
if( w.addEventListener ){

@@ -79,5 +98,5 @@ w.addEventListener( "load", function(){

}
};
// run once at least
rp.poly();
}
// commonjs

@@ -84,0 +103,0 @@ if( typeof exports !== "undefined" ){

@@ -1,1 +0,1 @@

!function(t){"use strict";t.loadCSS||(t.loadCSS=function(){});var e=loadCSS.relpreload={};e.support=function(){try{return t.document.createElement("link").relList.supports("preload")}catch(t){return!1}},e.bindMediaToggle=function(t,e){function a(){t.media=e}t.addEventListener?t.addEventListener("load",a):t.attachEvent&&t.attachEvent("onload",a),setTimeout(a,3e3)},e.poly=function(){if(!e.support()){for(var a=t.document.getElementsByTagName("link"),n=0;n<a.length;n++){var o=a[n];if("preload"===o.rel&&"style"===o.getAttribute("as")&&!o.getAttribute("data-loadcss")){var l=o.media||"all";e.bindMediaToggle(o,l),o.media="x",o.rel="stylesheet",o.setAttribute("data-loadcss",!0)}}var d=t.setInterval(e.poly,300);t.addEventListener?t.addEventListener("load",function(){e.poly(),t.clearInterval(d)}):t.attachEvent&&t.attachEvent("onload",function(){e.poly(),t.clearInterval(d)})}},e.poly(),"undefined"!=typeof exports?exports.loadCSS=loadCSS:t.loadCSS=loadCSS}("undefined"!=typeof global?global:this);
!function(t){"use strict";t.loadCSS||(t.loadCSS=function(){});var e=loadCSS.relpreload={};if(e.support=function(){var e;try{e=t.document.createElement("link").relList.supports("preload")}catch(t){e=!1}return function(){return e}}(),e.bindMediaToggle=function(t){function e(){t.media=a}var a=t.media||"all";t.addEventListener?t.addEventListener("load",e):t.attachEvent&&t.attachEvent("onload",e),setTimeout(function(){t.rel="stylesheet",t.media="only x"}),setTimeout(e,3e3)},e.poly=function(){if(!e.support())for(var a=t.document.getElementsByTagName("link"),n=0;n<a.length;n++){var o=a[n];"preload"!==o.rel||"style"!==o.getAttribute("as")||o.getAttribute("data-loadcss")||(o.setAttribute("data-loadcss",!0),e.bindMediaToggle(o))}},!e.support()){e.poly();var a=t.setInterval(e.poly,500);t.addEventListener?t.addEventListener("load",function(){e.poly(),t.clearInterval(a)}):t.attachEvent&&t.attachEvent("onload",function(){e.poly(),t.clearInterval(a)})}"undefined"!=typeof exports?exports.loadCSS=loadCSS:t.loadCSS=loadCSS}("undefined"!=typeof global?global:this);
{
"name": "fg-loadcss",
"version": "2.0.0",
"version": "2.0.1-0",
"description": "A function for loading CSS asynchronously",

@@ -5,0 +5,0 @@ "main": "src/loadCSS.js",

@@ -16,16 +16,26 @@ /*! loadCSS. [c]2017 Filament Group, Inc. MIT License */

// rel=preload feature support test
rp.support = function(){
// runs once and returns a function for compat purposes
rp.support = (function(){
var ret;
try {
return w.document.createElement( "link" ).relList.supports( "preload" );
ret = w.document.createElement( "link" ).relList.supports( "preload" );
} catch (e) {
return false;
ret = false;
}
};
return function(){
return ret;
};
})();
// if preload isn't supported, get an asynchronous load by using a non-matching media attribute
// then change that media back to its intended value on load
rp.bindMediaToggle = function( link, media ){
rp.bindMediaToggle = function( link ){
// remember existing media attr for ultimate state, or default to 'all'
var finalMedia = link.media || "all";
function enableStylesheet(){
link.media = media;
link.media = finalMedia;
}
// bind load handlers to enable media
if( link.addEventListener ){

@@ -36,2 +46,9 @@ link.addEventListener( "load", enableStylesheet );

}
// Set rel and non-applicable media type to start an async request
// note: timeout allows this to happen async to let rendering continue in IE
setTimeout(function(){
link.rel = "stylesheet";
link.media = "only x";
});
// also enable media after 3 seconds,

@@ -44,2 +61,3 @@ // which will catch very old browsers (android 2.x, old firefox) that don't support onload on link

rp.poly = function(){
// double check this to prevent external calls from running
if( rp.support() ){

@@ -53,16 +71,17 @@ return;

if( link.rel === "preload" && link.getAttribute( "as" ) === "style" && !link.getAttribute( "data-loadcss" ) ){
// remember existing media attr for ultimate state, or default to 'all'
var finalMedia = link.media || "all";
// bind listeners to toggle media back
rp.bindMediaToggle( link, finalMedia );
// if preload is not supported, kick off an asynchronous request by using a non-matching media query and rel=stylesheet
link.media = "x";
link.rel = "stylesheet";
// prevent rerunning on link
link.setAttribute( "data-loadcss", true );
// bind listeners to toggle media back
rp.bindMediaToggle( link );
}
}
};
// if unsupported, run the polyfill
if( !rp.support() ){
// run once at least
rp.poly();
// rerun poly on an interval until onload
var run = w.setInterval( rp.poly, 300 );
var run = w.setInterval( rp.poly, 500 );
if( w.addEventListener ){

@@ -79,5 +98,5 @@ w.addEventListener( "load", function(){

}
};
// run once at least
rp.poly();
}
// commonjs

@@ -84,0 +103,0 @@ if( typeof exports !== "undefined" ){

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc