strues / retinajs

JavaScript, SCSS, Sass, Less, and Stylus helpers for rendering high-resolution image variants

Home Page:http://retinajs.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Retina displays - 404 error when there is no @2x image

pixel-industry opened this issue · comments

Hi,

we are facing a problem with retina.js on retina screens. We have premium template that has no retina images, but we use the script because of our buyers, so they don't have to include it by themselves.

The problem is that template doesn't have retina images, only regular ones. On MAc, retina display, the normal image apears, but script is generating 404 errors in console (as it can't find @2x images). Can you help us to solve this issue. I think that the script should just ignore if there is no retina images, not showing 404 error in console. Here is the link to template in question: http://www.pixel-industry.com/html/trucking/

Thank you in advance.

Kind regards,
Andrijana

This is not a bug, it is a feature. On HTTP methods, even OPTIONS, HEAD or GET they obviously return 404 Not Found if the file is not found. Retina.js performs this to check if the file exists to be replaced... So, if you want, you can add data-no-retina to your images tags to avoid requesting the retina version of them. It is in the docs.

Wouldn't it be easier to add a class for images that has hi-res copy and avoid tons of 404 errors that are really bad...

I agree, but this breaks backwards-compatibility. Maybe for 2.0 @strues ?

This is fixed in version 2.0 of Retina.js. We'll be releasing it officially in the next couple of days.

Has this been fixed? I am using v2.1 and still get 404 errors in my console.

The project seems to be abandoned

Sorry guys I lost the ability to merge code after the company which put out RetinaJS went under.

Thanks for the update. I'll see if I can fix it. Cheers.

No problem. I'll see what I can do about getting write permission

Years later, is this code available for me to implement myself?

Hi there, do you guys have any good news about this problem?

commented

Hi, is there already a solution for this?

commented

Add this to the .htaccess

# This block of code needs to go above your Wordpress rules
<IfModule rewrite_module>
  #This is to short circuit non existent Retina image requests generated by retina.js
  # without this, the whole wordpress 404 stack will be executed which is very expensive
  # We simply redirect the request to the non @2x version of the file, if one exists, otherwise, send a 404 status
  RewriteEngine on
  RewriteBase /
  RewriteCond %{REQUEST_FILENAME} @2x\.[a-z]+$
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)@2x(.*)$ $1$2 [E=NORETINA:1]
  RewriteCond %{ENV:NORETINA} 1
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule .* - [L,R=404]
</IfModule>
commented

do this // i.setAttribute("src", e),
in line 28