@@ -66,57 +66,100 @@ <h2>A collection of helpful snippets to use inside of browser devtools</h2>
66
66
< span class ="c1 "> // Print out CSS colors used in elements on the page.</ span >
67
67
68
68
< span class ="p "> (</ span > < span class ="kd "> function</ span > < span class ="p "> ()</ span > < span class ="p "> {</ span >
69
+ < span class ="c1 "> // Should include colors from elements that have a border color but have a zero width?</ span >
70
+ < span class ="kd "> var</ span > < span class ="nx "> includeBorderColorsWithZeroWidth</ span > < span class ="o "> =</ span > < span class ="kc "> false</ span > < span class ="p "> ;</ span >
71
+
69
72
< span class ="kd "> var</ span > < span class ="nx "> allColors</ span > < span class ="o "> =</ span > < span class ="p "> {};</ span >
70
73
< span class ="kd "> var</ span > < span class ="nx "> props</ span > < span class ="o "> =</ span > < span class ="p "> [</ span > < span class ="s2 "> "background-color"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "color"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "border-top-color"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "border-right-color"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "border-bottom-color"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "border-left-color"</ span > < span class ="p "> ];</ span >
71
- < span class ="kd "> var</ span > < span class ="nx "> skipColors</ span > < span class ="o "> =</ span > < span class ="p "> {</ span > < span class ="s2 "> "rgb(0, 0, 0)"</ span > < span class ="o "> :</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="s2 "> "rgba(0, 0, 0, 0)"</ span > < span class ="o "> :</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="s2 "> "rgb(255, 255, 255)"</ span > < span class ="o "> :</ span > < span class ="mi "> 1</ span > < span class ="p "> };</ span >
74
+ < span class ="kd "> var</ span > < span class ="nx "> skipColors</ span > < span class ="o "> =</ span > < span class ="p "> {</ span >
75
+ < span class ="s2 "> "rgb(0, 0, 0)"</ span > < span class ="o "> :</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span >
76
+ < span class ="s2 "> "rgba(0, 0, 0, 0)"</ span > < span class ="o "> :</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span >
77
+ < span class ="s2 "> "rgb(255, 255, 255)"</ span > < span class ="o "> :</ span > < span class ="mi "> 1</ span >
78
+ < span class ="p "> };</ span >
72
79
73
80
< span class ="p "> [].</ span > < span class ="nx "> forEach</ span > < span class ="p "> .</ span > < span class ="nx "> call</ span > < span class ="p "> (</ span > < span class ="nb "> document</ span > < span class ="p "> .</ span > < span class ="nx "> querySelectorAll</ span > < span class ="p "> (</ span > < span class ="s2 "> "*"</ span > < span class ="p "> ),</ span > < span class ="kd "> function</ span > < span class ="p "> (</ span > < span class ="nx "> node</ span > < span class ="p "> )</ span > < span class ="p "> {</ span >
74
81
< span class ="kd "> var</ span > < span class ="nx "> nodeColors</ span > < span class ="o "> =</ span > < span class ="p "> {};</ span >
75
82
< span class ="nx "> props</ span > < span class ="p "> .</ span > < span class ="nx "> forEach</ span > < span class ="p "> (</ span > < span class ="kd "> function</ span > < span class ="p "> (</ span > < span class ="nx "> prop</ span > < span class ="p "> )</ span > < span class ="p "> {</ span >
76
- < span class ="kd "> var</ span > < span class ="nx "> color</ span > < span class ="o "> =</ span > < span class ="nb "> window</ span > < span class ="p "> .</ span > < span class ="nx "> getComputedStyle</ span > < span class ="p "> (</ span > < span class ="nx "> node</ span > < span class ="p "> ,</ span > < span class ="kc "> null</ span > < span class ="p "> ).</ span > < span class ="nx "> getPropertyValue</ span > < span class ="p "> (</ span > < span class ="nx "> prop</ span > < span class ="p "> );</ span >
77
- < span class ="k "> if</ span > < span class ="p "> (</ span > < span class ="nx "> color</ span > < span class ="o "> &&</ span > < span class ="o "> !</ span > < span class ="nx "> skipColors</ span > < span class ="p "> [</ span > < span class ="nx "> color</ span > < span class ="p "> ])</ span > < span class ="p "> {</ span >
83
+ < span class ="kd "> var</ span > < span class ="nx "> color</ span > < span class ="o "> =</ span > < span class ="nb "> window</ span > < span class ="p "> .</ span > < span class ="nx "> getComputedStyle</ span > < span class ="p "> (</ span > < span class ="nx "> node</ span > < span class ="p "> ,</ span > < span class ="kc "> null</ span > < span class ="p "> ).</ span > < span class ="nx "> getPropertyValue</ span > < span class ="p "> (</ span > < span class ="nx "> prop</ span > < span class ="p "> ),</ span >
84
+ < span class ="nx "> thisIsABorderProperty</ span > < span class ="o "> =</ span > < span class ="p "> (</ span > < span class ="nx "> prop</ span > < span class ="p "> .</ span > < span class ="nx "> indexOf</ span > < span class ="p "> (</ span > < span class ="s2 "> "border"</ span > < span class ="p "> )</ span > < span class ="o "> !=</ span > < span class ="o "> -</ span > < span class ="mi "> 1</ span > < span class ="p "> ),</ span >
85
+ < span class ="nx "> notBorderZero</ span > < span class ="o "> =</ span > < span class ="nx "> thisIsABorderProperty</ span > < span class ="o "> ?</ span > < span class ="nb "> window</ span > < span class ="p "> .</ span > < span class ="nx "> getComputedStyle</ span > < span class ="p "> (</ span > < span class ="nx "> node</ span > < span class ="p "> ,</ span > < span class ="kc "> null</ span > < span class ="p "> ).</ span > < span class ="nx "> getPropertyValue</ span > < span class ="p "> (</ span > < span class ="nx "> prop</ span > < span class ="p "> .</ span > < span class ="nx "> replace</ span > < span class ="p "> (</ span > < span class ="s2 "> "color"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "width"</ span > < span class ="p "> ))</ span > < span class ="o "> !==</ span > < span class ="s2 "> "0px"</ span > < span class ="o "> :</ span > < span class ="kc "> true</ span > < span class ="p "> ,</ span >
86
+ < span class ="nx "> colorConditionsMet</ span > < span class ="p "> ;</ span >
87
+
88
+ < span class ="k "> if</ span > < span class ="p "> (</ span > < span class ="nx "> includeBorderColorsWithZeroWidth</ span > < span class ="p "> )</ span > < span class ="p "> {</ span >
89
+ < span class ="nx "> colorConditionsMet</ span > < span class ="o "> =</ span > < span class ="nx "> color</ span > < span class ="o "> &&</ span > < span class ="o "> !</ span > < span class ="nx "> skipColors</ span > < span class ="p "> [</ span > < span class ="nx "> color</ span > < span class ="p "> ];</ span >
90
+ < span class ="p "> }</ span > < span class ="k "> else</ span > < span class ="p "> {</ span >
91
+ < span class ="nx "> colorConditionsMet</ span > < span class ="o "> =</ span > < span class ="nx "> color</ span > < span class ="o "> &&</ span > < span class ="o "> !</ span > < span class ="nx "> skipColors</ span > < span class ="p "> [</ span > < span class ="nx "> color</ span > < span class ="p "> ]</ span > < span class ="o "> &&</ span > < span class ="nx "> notBorderZero</ span > < span class ="p "> ;</ span >
92
+ < span class ="p "> }</ span >
93
+
94
+ < span class ="k "> if</ span > < span class ="p "> (</ span > < span class ="nx "> colorConditionsMet</ span > < span class ="p "> )</ span > < span class ="p "> {</ span >
78
95
< span class ="k "> if</ span > < span class ="p "> (</ span > < span class ="o "> !</ span > < span class ="nx "> allColors</ span > < span class ="p "> [</ span > < span class ="nx "> color</ span > < span class ="p "> ])</ span > < span class ="p "> {</ span >
79
96
< span class ="nx "> allColors</ span > < span class ="p "> [</ span > < span class ="nx "> color</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="p "> {</ span >
80
97
< span class ="nx "> count</ span > < span class ="o "> :</ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span >
81
98
< span class ="nx "> nodes</ span > < span class ="o "> :</ span > < span class ="p "> []</ span >
82
99
< span class ="p "> };</ span >
83
100
< span class ="p "> }</ span >
101
+
84
102
< span class ="k "> if</ span > < span class ="p "> (</ span > < span class ="o "> !</ span > < span class ="nx "> nodeColors</ span > < span class ="p "> [</ span > < span class ="nx "> color</ span > < span class ="p "> ])</ span > < span class ="p "> {</ span >
85
103
< span class ="nx "> allColors</ span > < span class ="p "> [</ span > < span class ="nx "> color</ span > < span class ="p "> ].</ span > < span class ="nx "> count</ span > < span class ="o "> ++</ span > < span class ="p "> ;</ span >
86
104
< span class ="nx "> allColors</ span > < span class ="p "> [</ span > < span class ="nx "> color</ span > < span class ="p "> ].</ span > < span class ="nx "> nodes</ span > < span class ="p "> .</ span > < span class ="nx "> push</ span > < span class ="p "> (</ span > < span class ="nx "> node</ span > < span class ="p "> );</ span >
87
105
< span class ="p "> }</ span >
106
+
88
107
< span class ="nx "> nodeColors</ span > < span class ="p "> [</ span > < span class ="nx "> color</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="kc "> true</ span > < span class ="p "> ;</ span >
89
108
< span class ="p "> }</ span >
90
109
< span class ="p "> });</ span >
91
110
< span class ="p "> });</ span >
92
111
112
+ < span class ="kd "> function</ span > < span class ="nx "> rgbTextToRgbArray</ span > < span class ="p "> (</ span > < span class ="nx "> rgbText</ span > < span class ="p "> )</ span > < span class ="p "> {</ span >
113
+ < span class ="k "> return</ span > < span class ="nx "> rgbText</ span > < span class ="p "> .</ span > < span class ="nx "> replace</ span > < span class ="p "> (</ span > < span class ="sr "> /\s/g</ span > < span class ="p "> ,</ span > < span class ="s2 "> ""</ span > < span class ="p "> ).</ span > < span class ="nx "> match</ span > < span class ="p "> (</ span > < span class ="sr "> /\d+,\d+,\d+/</ span > < span class ="p "> )[</ span > < span class ="mi "> 0</ span > < span class ="p "> ].</ span > < span class ="nx "> split</ span > < span class ="p "> (</ span > < span class ="s2 "> ","</ span > < span class ="p "> ).</ span > < span class ="nx "> map</ span > < span class ="p "> (</ span > < span class ="kd "> function</ span > < span class ="p "> (</ span > < span class ="nx "> num</ span > < span class ="p "> )</ span > < span class ="p "> {</ span >
114
+ < span class ="k "> return</ span > < span class ="nb "> parseInt</ span > < span class ="p "> (</ span > < span class ="nx "> num</ span > < span class ="p "> ,</ span > < span class ="mi "> 10</ span > < span class ="p "> );</ span >
115
+ < span class ="p "> });</ span >
116
+ < span class ="p "> }</ span >
117
+
118
+ < span class ="kd "> function</ span > < span class ="nx "> componentToHex</ span > < span class ="p "> (</ span > < span class ="nx "> c</ span > < span class ="p "> )</ span > < span class ="p "> {</ span >
119
+ < span class ="kd "> var</ span > < span class ="nx "> hex</ span > < span class ="o "> =</ span > < span class ="nx "> c</ span > < span class ="p "> .</ span > < span class ="nx "> toString</ span > < span class ="p "> (</ span > < span class ="mi "> 16</ span > < span class ="p "> );</ span >
120
+ < span class ="k "> return</ span > < span class ="nx "> hex</ span > < span class ="p "> .</ span > < span class ="nx "> length</ span > < span class ="o "> ==</ span > < span class ="mi "> 1</ span > < span class ="o "> ?</ span > < span class ="s2 "> "0"</ span > < span class ="o "> +</ span > < span class ="nx "> hex</ span > < span class ="o "> :</ span > < span class ="nx "> hex</ span > < span class ="p "> ;</ span >
121
+ < span class ="p "> }</ span >
122
+
123
+ < span class ="kd "> function</ span > < span class ="nx "> rgbToHex</ span > < span class ="p "> (</ span > < span class ="nx "> rgbArray</ span > < span class ="p "> )</ span > < span class ="p "> {</ span >
124
+ < span class ="kd "> var</ span > < span class ="nx "> r</ span > < span class ="o "> =</ span > < span class ="nx "> rgbArray</ span > < span class ="p "> [</ span > < span class ="mi "> 0</ span > < span class ="p "> ],</ span >
125
+ < span class ="nx "> g</ span > < span class ="o "> =</ span > < span class ="nx "> rgbArray</ span > < span class ="p "> [</ span > < span class ="mi "> 1</ span > < span class ="p "> ],</ span >
126
+ < span class ="nx "> b</ span > < span class ="o "> =</ span > < span class ="nx "> rgbArray</ span > < span class ="p "> [</ span > < span class ="mi "> 2</ span > < span class ="p "> ];</ span >
127
+ < span class ="k "> return</ span > < span class ="s2 "> "#"</ span > < span class ="o "> +</ span > < span class ="nx "> componentToHex</ span > < span class ="p "> (</ span > < span class ="nx "> r</ span > < span class ="p "> )</ span > < span class ="o "> +</ span > < span class ="nx "> componentToHex</ span > < span class ="p "> (</ span > < span class ="nx "> g</ span > < span class ="p "> )</ span > < span class ="o "> +</ span > < span class ="nx "> componentToHex</ span > < span class ="p "> (</ span > < span class ="nx "> b</ span > < span class ="p "> );</ span >
128
+ < span class ="p "> }</ span >
129
+
93
130
< span class ="kd "> var</ span > < span class ="nx "> allColorsSorted</ span > < span class ="o "> =</ span > < span class ="p "> [];</ span >
94
131
< span class ="k "> for</ span > < span class ="p "> (</ span > < span class ="kd "> var</ span > < span class ="nx "> i</ span > < span class ="k "> in</ span > < span class ="nx "> allColors</ span > < span class ="p "> )</ span > < span class ="p "> {</ span >
132
+ < span class ="kd "> var</ span > < span class ="nx "> rgbArray</ span > < span class ="o "> =</ span > < span class ="nx "> rgbTextToRgbArray</ span > < span class ="p "> (</ span > < span class ="nx "> i</ span > < span class ="p "> );</ span >
133
+ < span class ="kd "> var</ span > < span class ="nx "> hexValue</ span > < span class ="o "> =</ span > < span class ="nx "> rgbToHex</ span > < span class ="p "> (</ span > < span class ="nx "> rgbArray</ span > < span class ="p "> );</ span >
134
+
95
135
< span class ="nx "> allColorsSorted</ span > < span class ="p "> .</ span > < span class ="nx "> push</ span > < span class ="p "> ({</ span >
96
136
< span class ="nx "> key</ span > < span class ="o "> :</ span > < span class ="nx "> i</ span > < span class ="p "> ,</ span >
97
- < span class ="nx "> value</ span > < span class ="o "> :</ span > < span class ="nx "> allColors</ span > < span class ="p "> [</ span > < span class ="nx "> i</ span > < span class ="p "> ]</ span >
137
+ < span class ="nx "> value</ span > < span class ="o "> :</ span > < span class ="nx "> allColors</ span > < span class ="p "> [</ span > < span class ="nx "> i</ span > < span class ="p "> ],</ span >
138
+ < span class ="nx "> hexValue</ span > < span class ="o "> :</ span > < span class ="nx "> hexValue</ span >
98
139
< span class ="p "> });</ span >
99
140
< span class ="p "> }</ span >
141
+
100
142
< span class ="nx "> allColorsSorted</ span > < span class ="o "> =</ span > < span class ="nx "> allColorsSorted</ span > < span class ="p "> .</ span > < span class ="nx "> sort</ span > < span class ="p "> (</ span > < span class ="kd "> function</ span > < span class ="p "> (</ span > < span class ="nx "> a</ span > < span class ="p "> ,</ span > < span class ="nx "> b</ span > < span class ="p "> )</ span > < span class ="p "> {</ span >
101
143
< span class ="k "> return</ span > < span class ="nx "> b</ span > < span class ="p "> .</ span > < span class ="nx "> value</ span > < span class ="p "> .</ span > < span class ="nx "> count</ span > < span class ="o "> -</ span > < span class ="nx "> a</ span > < span class ="p "> .</ span > < span class ="nx "> value</ span > < span class ="p "> .</ span > < span class ="nx "> count</ span > < span class ="p "> ;</ span >
102
144
< span class ="p "> });</ span >
103
145
104
146
< span class ="kd "> var</ span > < span class ="nx "> nameStyle</ span > < span class ="o "> =</ span > < span class ="s2 "> "font-weight:normal;"</ span > < span class ="p "> ;</ span >
105
147
< span class ="kd "> var</ span > < span class ="nx "> countStyle</ span > < span class ="o "> =</ span > < span class ="s2 "> "font-weight:bold;"</ span > < span class ="p "> ;</ span >
106
- < span class ="kd "> var </ span > < span class ="nx "> colorStyle</ span > < span class =" o " > = </ span > < span class =" kd " > function </ span > < span class ="p "> (</ span > < span class ="nx "> color</ span > < span class ="p "> )</ span > < span class ="p "> {</ span >
148
+ < span class ="kd "> function </ span > < span class ="nx "> colorStyle</ span > < span class ="p "> (</ span > < span class ="nx "> color</ span > < span class ="p "> )</ span > < span class ="p "> {</ span >
107
149
< span class ="k "> return</ span > < span class ="s2 "> "background:"</ span > < span class ="o "> +</ span > < span class ="nx "> color</ span > < span class ="o "> +</ span > < span class ="s2 "> ";color:"</ span > < span class ="o "> +</ span > < span class ="nx "> color</ span > < span class ="o "> +</ span > < span class ="s2 "> ";border:1px solid #333;"</ span > < span class ="p "> ;</ span >
108
150
< span class ="p "> };</ span >
109
151
110
152
< span class ="nx "> console</ span > < span class ="p "> .</ span > < span class ="nx "> group</ span > < span class ="p "> (</ span > < span class ="s2 "> "All colors used in elements on the page"</ span > < span class ="p "> );</ span >
111
153
< span class ="nx "> allColorsSorted</ span > < span class ="p "> .</ span > < span class ="nx "> forEach</ span > < span class ="p "> (</ span > < span class ="kd "> function</ span > < span class ="p "> (</ span > < span class ="nx "> c</ span > < span class ="p "> )</ span > < span class ="p "> {</ span >
112
- < span class ="nx "> console</ span > < span class ="p "> .</ span > < span class ="nx "> groupCollapsed</ span > < span class ="p "> (</ span > < span class ="s2 "> "%c %c "</ span > < span class ="o "> +</ span > < span class ="nx "> c</ span > < span class ="p "> .</ span > < span class ="nx "> key</ span > < span class ="o "> +</ span > < span class ="s2 "> " %c("</ span > < span class ="o "> +</ span > < span class ="nx "> c</ span > < span class ="p "> .</ span > < span class ="nx "> value</ span > < span class ="p "> .</ span > < span class ="nx "> count</ span > < span class ="o "> +</ span > < span class ="s2 "> " times)"</ span > < span class ="p "> ,</ span >
154
+ < span class ="nx "> console</ span > < span class ="p "> .</ span > < span class ="nx "> groupCollapsed</ span > < span class ="p "> (</ span > < span class ="s2 "> "%c %c "</ span > < span class ="o "> +</ span > < span class ="nx "> c</ span > < span class ="p "> .</ span > < span class ="nx "> key</ span > < span class ="o "> +</ span > < span class ="s2 "> " " </ span > < span class =" o " > + </ span > < span class =" nx " > c </ span > < span class =" p " > . </ span > < span class =" nx " > hexValue </ span > < span class =" o " > + </ span > < span class =" s2 " > " %c("</ span > < span class ="o "> +</ span > < span class ="nx "> c</ span > < span class ="p "> .</ span > < span class ="nx "> value</ span > < span class ="p "> .</ span > < span class ="nx "> count</ span > < span class ="o "> +</ span > < span class ="s2 "> " times)"</ span > < span class ="p "> ,</ span >
113
155
< span class ="nx "> colorStyle</ span > < span class ="p "> (</ span > < span class ="nx "> c</ span > < span class ="p "> .</ span > < span class ="nx "> key</ span > < span class ="p "> ),</ span > < span class ="nx "> nameStyle</ span > < span class ="p "> ,</ span > < span class ="nx "> countStyle</ span > < span class ="p "> );</ span >
114
156
< span class ="nx "> c</ span > < span class ="p "> .</ span > < span class ="nx "> value</ span > < span class ="p "> .</ span > < span class ="nx "> nodes</ span > < span class ="p "> .</ span > < span class ="nx "> forEach</ span > < span class ="p "> (</ span > < span class ="kd "> function</ span > < span class ="p "> (</ span > < span class ="nx "> node</ span > < span class ="p "> )</ span > < span class ="p "> {</ span >
115
157
< span class ="nx "> console</ span > < span class ="p "> .</ span > < span class ="nx "> log</ span > < span class ="p "> (</ span > < span class ="nx "> node</ span > < span class ="p "> );</ span >
116
158
< span class ="p "> });</ span >
117
159
< span class ="nx "> console</ span > < span class ="p "> .</ span > < span class ="nx "> groupEnd</ span > < span class ="p "> ();</ span >
118
160
< span class ="p "> });</ span >
119
161
< span class ="nx "> console</ span > < span class ="p "> .</ span > < span class ="nx "> groupEnd</ span > < span class ="p "> (</ span > < span class ="s2 "> "All colors used in elements on the page"</ span > < span class ="p "> );</ span >
162
+
120
163
< span class ="p "> })();</ span >
121
164
</ pre > </ div >
122
165
</ div > < div class ='snippet-wrapper ' id ='cachebuster '> < div class ='snippet '> < h3 > < a href ='https://github.com/bgrins/devtools-snippets/tree/master/snippets/cachebuster/cachebuster.js '> cachebuster.js</ a > < a href ='#cachebuster '> #</ a > < small style ='float:right '> < a href ='snippets/cachebuster/cachebuster.js '> (view raw)</ a > </ small > </ h3 >
0 commit comments