Guest User

Untitled

a guest
Mar 24th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. (function (win, doc) {
  2.  
  3. var removeLink = function removeLink(event) {
  4. if (event.type === 'error')
  5. console.warn(event.target.href + 'could not be loaded!');
  6.  
  7. doc.head.removeChild(event.target);
  8. }
  9.  
  10. var createLink = function createLink(type, addr, attrs) {
  11. var link = doc.createElement('link');
  12. link.rel = type;
  13. link.href = addr;
  14. link.onload = removeLink;
  15. link.onerror = removeLink;
  16. for (var attr in attrs)
  17. link[attr] = attrs[attr];
  18.  
  19. doc.head.appendChild(link);
  20. }
  21.  
  22. win.makeHint = function hint(addr, type, attrs) {
  23. if (typeof addr === 'string') {
  24. createLink(addr, type, attrs);
  25. }
  26. else if (addr instanceof Array) {
  27. addr.forEach(function (addr) {
  28. createLink(addr, type, attrs);
  29. });
  30. }
  31. }
  32.  
  33. win.prefetchDns = makeHint.bind(null, 'dns-prefetch' /* addr, attrs */);
  34. win.preconnect = makeHint.bind(null, 'preconnect' /* addr, attrs */);
  35. win.prefetch = makeHint.bind(null, 'prefetch' /* addr, attrs */);
  36. win.prerender = makeHint.bind(null, 'prerender' /* addr, attrs */);
  37.  
  38.  
  39. }(window, document));
Add Comment
Please, Sign In to add comment