Ivanezko

Untitled

Jun 13th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <script>
  2. // replace images with resizer
  3. window.resizerImagesConverted = false;
  4. window.resizerImagesDisabled = false;
  5. setInterval(function() {
  6. //return;
  7.  if (document.location.href.indexOf('admin') > 0) return;
  8.  if (window.resizerImagesDisabled) return;
  9.  convertImages();
  10.  window.resizerImagesConverted = true;
  11. }, 500);
  12.  
  13.  
  14. window.addEventListener('resize', function(event){
  15.   console.log('CF window resize');
  16.   window.resizerImagesConverted = false;
  17. });
  18.  
  19. function convertImages() {
  20.     //console.log('CF convert images with resizer!');
  21.     var images = document.querySelectorAll("img[src*='/storage/remote/'],img[src*='/storage/editor/'],[orig-src]");
  22.     if (images.length > 0) {
  23.         var base_resizer = 'https://resizer.starlight.digital/crop?w=TARGET_W&h=TARGET_H&q=100&trg=teleportal&url=';
  24.         images.forEach(function (img) {
  25.             $img = $(img);
  26.             var orig = $img.attr('orig-src') || '';
  27.             if (orig != '' && !window.resizerImagesConverted) return;
  28.             if (orig == '') {
  29.               orig = img.getAttribute('src');
  30.               img.setAttribute('orig-src', orig);
  31.             }
  32.             if (!orig.match(/\.png/i)) {
  33.               var pixelRatio = 1;
  34.               if (typeof window.devicePixelRatio != 'undefined' && window.devicePixelRatio>0) pixelRatio = window.devicePixelRatio;
  35.               var w = $img.width()*pixelRatio;
  36.               var h = $img.height()*pixelRatio;
  37.               if (w != img.getAttribute('res-w') || h != img.getAttribute('res-h') ) {
  38.                  var base = base_resizer.replace('TARGET_W', w).replace('TARGET_H', h);
  39.                  var orig = orig.replace('372x279/', '').replace('315x450/', '').replace('370x208/', '').replace('_100.jpg', '.jpg').replace('_100.jpeg', '.jpeg');
  40.                  orig = orig.replace('https://teleportal.ua', '');
  41.                  img.setAttribute('src', base + encodeURIComponent('https://teleportal.ua' + orig));
  42.                  img.setAttribute('res-w', w);
  43.                  img.setAttribute('res-h', h);
  44.               }
  45.             }
  46.         });
  47.     }
  48. }
  49.  
  50. function convertImagesBack() {
  51. console.log('CF DONT convert images with resizer!');
  52.     var images = document.querySelectorAll("img[src*='https://resizer.starlight.digital']");
  53.     if (images.length > 0) {
  54.         images.forEach(function (img) {
  55.             $img = $(img);
  56. $img.attr('src', $img.attr('orig-src'));
  57. $img.attr('orig-src', '');
  58.         });
  59.     }
  60. }
  61.  
  62. $('body').on('keydown', function(e) {
  63.     if (e.keyCode == 84) {
  64.          window.resizerImagesDisabled = true;
  65.         convertImagesBack();
  66.     }
  67. });
  68.  
  69. $('body').on('keyup', function(e) {
  70.     if (e.keyCode == 84) {
  71.          window.resizerImagesDisabled = false;
  72.         convertImagesBack();
  73.     }
  74. });
  75.  
  76. </script>
Add Comment
Please, Sign In to add comment