Created
January 31, 2015 05:45
-
-
Save okor/f5a5d05afa96e37f3e2b to your computer and use it in GitHub Desktop.
An attempt to calculate the number of blocking request on a webpage, uncertain of it's accuracy
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function estimateNumRequests() { | |
var netCount = 1; // 1 for the webpage itself | |
var elements = null; | |
// all css | |
elements = document.getElementsByTagName('link'); | |
for (var i = 0; i < elements.length; i++) { | |
var isStyleSheet = elementAttributeMatches(elements[i], 'rel', 'style') || elementIsTypeOf(elements[i], 'css'); | |
if (elements[i].getAttribute('href') && urlIsRemote(elements[i].getAttribute('href')) && isStyleSheet) { | |
netCount++; | |
} | |
} | |
// all scripts, exclude async (?) && !!!elements[i].async | |
elements = document.getElementsByTagName('script'); | |
for (var i = 0; i < elements.length; i++) { | |
if ( urlIsRemote(elements[i].getAttribute('src')) ) { | |
netCount++; | |
} | |
} | |
// all images | |
elements = document.getElementsByTagName('img'); | |
for (var i = 0; i < elements.length; i++) { | |
if ( urlIsRemote(elements[i].getAttribute('src')) ) { | |
netCount++; | |
} | |
} | |
// all background images | |
elements = document.getElementsByTagName('*'); | |
for (var i = 0; i < elements.length; i++) { | |
if ( elements[i].style && elements[i].style.backgroundImage && urlIsRemote(elements[i].style.backgroundImage) ) { | |
netCount++; | |
} | |
} | |
return netCount; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment