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?
Hi, is there already a solution for this?
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>
do this // i.setAttribute("src", e),
in line 28