-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathdocumentinfo.js
58 lines (47 loc) · 2.3 KB
/
documentinfo.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
// Document Info
{
console.clear()
const getAttr = (elem, attr) => {
if (document.querySelector(elem) && document.querySelector(elem).getAttribute(attr)) return document.querySelector(elem).getAttribute(attr);
return "🛑 No information available"
}
console.log('---------')
console.log(`%cTitle: ${document.title}`, `font-size: 14px`);
console.log(`OG Title: ${getAttr('meta[property="og:title"]', 'content')}`)
console.log(`Description: ${getAttr('meta[name="description"]', 'content')}`)
console.log(`OG Description: ${getAttr('meta[property="og:description"]', 'content')}`)
console.log(`OG image: ${getAttr('meta[property="og:image"]', 'content')}`)
console.log(`Language: ${getAttr('html', 'lang')}`)
console.log(`Charset: ${getAttr('meta[charset]', 'charset')}`)
console.log(`Viewport: ${getAttr('meta[name="viewport"]', 'content')}`)
console.log(`Canonical URL: ${getAttr('link[rel="canonical"]', 'href')}`)
console.log(`DOM nodes in <head>: ${document.head.querySelectorAll('*').length}`)
console.log(`DOM nodes in <body>: ${document.body.querySelectorAll('*').length}`)
const internalStylesheet = document.querySelectorAll('style');
console.groupCollapsed(`Number of <style> elements: ${document.querySelectorAll('style').length}`)
for (var i = 0; i < internalStylesheet.length; i++) {
console.log(internalStylesheet[i])
}
console.groupEnd();
const externalStylesheet = document.querySelectorAll('link[rel="stylesheet"]');
console.groupCollapsed(`Number of external stylesheets: ${externalStylesheet.length}`)
for (var i = 0; i < externalStylesheet.length; i++) {
console.log(externalStylesheet[i].href)
}
console.groupEnd();
const internalScript = document.querySelectorAll('script:not([src])');
console.groupCollapsed(`Number of inline <script> elements: ${internalScript.length}`)
for (var i = 0; i < internalScript.length; i++) {
console.log(internalScript[i])
}
console.groupEnd();
const externalScript = document.querySelectorAll('script[src]');
console.groupCollapsed(`Number of external <script> elements: ${externalScript.length}`)
for (var i = 0; i < externalScript.length; i++) {
console.log(externalScript[i].src)
}
console.groupEnd();
console.log('---------')
var done = 'Finished running “Doc Info”'
done;
}