|
180 | 180 | else allQueries[mode][property][value] += ','+selector;
|
181 | 181 | }
|
182 | 182 |
|
183 |
| - function getQuery() { |
184 |
| - var query; |
185 |
| - if (document.querySelectorAll) query = document.querySelectorAll.bind(document); |
186 |
| - if (!query && 'undefined' !== typeof $$) query = $$; |
187 |
| - if (!query && 'undefined' !== typeof jQuery) query = jQuery; |
188 |
| - |
189 |
| - if (!query) { |
190 |
| - throw 'No document.querySelectorAll, jQuery or Mootools\'s $$ found.'; |
191 |
| - } |
192 |
| - |
193 |
| - return query; |
194 |
| - } |
195 |
| - |
196 | 183 | /**
|
197 | 184 | * Start the magic. Go through all collected rules (readRules()) and attach the resize-listener.
|
198 | 185 | *
|
199 | 186 | * @param {HTMLElement} container only elements of the container are considered (document.body if not set)
|
200 | 187 | *
|
201 | 188 | */
|
202 | 189 | function findElementQueriesElements(container) {
|
203 |
| - var query = (container) ? container.querySelectorAll.bind(container) : getQuery(); |
204 |
| - |
205 | 190 | for (var mode in allQueries) if (allQueries.hasOwnProperty(mode)) {
|
206 | 191 |
|
207 | 192 | for (var property in allQueries[mode]) if (allQueries[mode].hasOwnProperty(property)) {
|
208 | 193 | for (var value in allQueries[mode][property]) if (allQueries[mode][property].hasOwnProperty(value)) {
|
209 |
| - var elements = query(allQueries[mode][property][value]); |
| 194 | + var elements = (container) ? container.querySelectorAll(allQueries[mode][property][value]) : document.querySelectorAll(allQueries[mode][property][value]); |
210 | 195 | for (var i = 0, j = elements.length; i < j; i++) {
|
211 | 196 | setupElement(elements[i], {
|
212 | 197 | mode: mode,
|
|
318 | 303 | }
|
319 | 304 | }
|
320 | 305 |
|
321 |
| - function findResponsiveImages(){ |
322 |
| - var query = getQuery(); |
323 |
| - |
324 |
| - var elements = query('[data-responsive-image],[responsive-image]'); |
| 306 | + function findResponsiveImages() { |
| 307 | + var elements = document.querySelectorAll('[data-responsive-image],[responsive-image]'); |
325 | 308 | for (var i = 0, j = elements.length; i < j; i++) {
|
326 | 309 | attachResponsiveImage(elements[i]);
|
327 | 310 | }
|
|
400 | 383 | var style = document.createElement('style');
|
401 | 384 | style.type = 'text/css';
|
402 | 385 | style.innerHTML = '[responsive-image] > img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img { width: 100%;}';
|
403 |
| - document.getElementsByTagName('head')[0].appendChild(style); |
| 386 | + document.head.appendChild(style); |
404 | 387 | defaultCssInjected = true;
|
405 | 388 | }
|
406 | 389 |
|
|
486 | 469 | ElementQueries.instance.findElementQueriesElements(container);
|
487 | 470 | };
|
488 | 471 |
|
489 |
| - var domLoaded = function (callback) { |
490 |
| - /* Internet Explorer */ |
491 |
| - /*@cc_on |
492 |
| - @if (@_win32 || @_win64) |
493 |
| - document.write('<script id="ieScriptLoad" defer src="//:"><\/script>'); |
494 |
| - document.getElementById('ieScriptLoad').onreadystatechange = function() { |
495 |
| - if (this.readyState == 'complete') { |
496 |
| - callback(); |
497 |
| - } |
498 |
| - }; |
499 |
| - @end @*/ |
500 |
| - /* Mozilla, Chrome, Opera */ |
501 |
| - if (document.addEventListener) { |
502 |
| - document.addEventListener('DOMContentLoaded', callback, false); |
503 |
| - } |
504 |
| - /* Safari, iCab, Konqueror */ |
505 |
| - else if (/KHTML|WebKit|iCab/i.test(navigator.userAgent)) { |
506 |
| - var DOMLoadTimer = setInterval(function () { |
507 |
| - if (/loaded|complete/i.test(document.readyState)) { |
508 |
| - callback(); |
509 |
| - clearInterval(DOMLoadTimer); |
510 |
| - } |
511 |
| - }, 10); |
512 |
| - } |
513 |
| - /* Other web browsers */ |
514 |
| - else window.onload = callback; |
515 |
| - }; |
516 |
| - |
517 | 472 | ElementQueries.listen = function() {
|
518 |
| - domLoaded(ElementQueries.init); |
| 473 | + document.addEventListener('DOMContentLoaded', ElementQueries.init, false); |
519 | 474 | };
|
520 | 475 |
|
521 | 476 | return ElementQueries;
|
|
0 commit comments