Opera no muestra imágenes de Tinypic

Muchos ya os habréis dado cuenta que los magníficos navegadores web Opera, basados en el antiguo motor Presto, no visualizan bien las imágenes de TinyPic desde hace unas semanas, cosa que antes no daba ningún problema.

El problema se aplica a Opera 12.x y anteriores, así como a Opera Mini, y está causado por un problema en la última actualización de TinyPic, que intencionadamente o no, esconde las imágenes a navegadores basados en Presto, de modo que al final, estas no se visualizan.

La solución que he creado, se basa en user.js que ha creado Drozdman de Informatics Stuff, pero que por varios motivos no me gustaba por los siguientes motivos:
1) Dependía de jQuery, que lo hace más lento y pesado.
2) No comprobaba posibles condiciones de error.
3) Era demasiado lento al usar innecesariamente expresiones regulares de búsqueda y reemplazo.

De ese modo he creado mi propia adaptación, solventando esos aspectos. Este es el código:

// ==UserScript==
// @name opera_12_tinypic_fix.js
// @file This is a fix for Tinypic and Photobucket images not showing on Opera browsers. This issue affects all Presto based Opera browsers, including Opera 12.17 and older, and Opera Mini. It is distributed as an User Javascript (User.js) to be included in your browser. The work is based on Based on Drozdman (http://drozdman.blogspot.com.es/2015/04/userjs-fix-tinypic-on-opera-12.html). More details available at http://www.javiergutierrezchamorro.com/opera-no-muestra-imagenes-de-tinypic/2466
// @author Javier Gutiérrez Chamorro (http://www.javiergutierrezchamorro.com)
// @version 2.20
// @license LGPL-3.0
// @include *
// ==/UserScript==
 
'use strict';
window.addEventListener('DOMContentLoaded', function()
{
	//On tinypic site, it has imgtmp class added which makes image hidden
	if (location.hostname.indexOf('tinypic.com') !== -1)
	{
		var oElement = document.getElementById('imgFrame');
		if (oElement)
		{
			oElement.removeClass('imgtmp');
		}
	}
	else
	{
		var aoImg = document.getElementsByTagName('img');
		var iImgLen = aoImg.length;
		//Iterate throught all images in DOM
		for (var iImg = 0; iImg < iImgLen; iImg++)
		{
			var oImg = aoImg[iImg];	//Image object
			var sUrl = oImg.src;	//Image URL
			//When embeded on TinyPic or Photobucket, we should use the oi servers.
			if ((sUrl.indexOf('tinypic.com') !== -1) || (sUrl.indexOf('photobucket.com') !== -1))
			{
				sUrl = sUrl.replace('//i', '//oi');
				oImg.src = sUrl;
			}
		}
	}
}, false);

Pata instalarlo basta seguir estos pasos, pero si te pierdes, aquí te lo explican mejor:
1. Crea una carpeta en tu disco duro local, donde guardarás los scripts de usuario.
2. En Opera, accede a de Herramientas -> Preferencias -> Avanzado -> Contenidos -> Opciones Javascript y escoje en Mis archivos Javascript la carpeta que has creado en el punto 1.
3. Descarga opera_12_tinypic_fix.js (1 Kb. en formato JS), y guárdalo en esa misma carpeta.

Actualizado a martes 5 de mayo de 2015. 22:19:
Photobucket, de los mismos desarrolladores que TinyPic, adolece del mismo problema, y no visualiza las imágenes, de forma que acabo de actualizar el fix para dar soporte también a este servicio.

Actualizado a domingo 29 de noviembre de 2015. 9:55:
Ha pasado algún tiempo, y me olvidé de actualizar el artículo con la solución de quarter. Debo admitir que es más eficaz, pues se maneja nativamente por Opera, sin necesidad de que haya un UserJS ejecutándose cada vez que se carga la página. Cosa que por eficiente que sea, siempre será menos ágil.

En la barra de direcciones accedemos a opera:config, y buscamos HTTP Accept, nos aparecerá dentro del capítulo Network. Allí escribimos lo siguiente: image/gif, image/jpeg, image/pjpeg, application/x-ms-application, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-ms-xbap, application/x-shockwave-flash, */*

Cerramos Opera y lo volvemos a abrir, y tema solucionado.



15 comentarios en “Opera no muestra imágenes de Tinypic”

  1. yo uso software portable, así solo ejecuto el programa sin necesidad de instalar nada y no me preocupo por nuevas versiones que hagan conflicto con lo que ya tengo. Y en este caso tengo mi opera 11 portable que no lo cambio por nada jejejej

  2. y es más cómodo el no tener que reinstalar si formateas, simplemente copias todo, y listos.
    —————
    si, esa es la gran ventaja

  3. Hola.
    Lo primero agradecer tu trabajo. He acabado aqui «naufragando» con el buscador porque mi Opera 12.17 portable no muestra imagenes de esos sitios, y cada vez que quiero verlas debo abrir Firefox y pegar el enlace. Y ya me canso de esperar de que del mismo modo que dejaron de mostrarlas, volvieran a arreglarlo.
    El tema es que he seguido los tres pasos que indicas (solo soy un usuario de la red) y sigue sin mostrarme las imagenes de por ejemplo aqui: http://www.forocoches.com/foro/showthread.php?t=4301029&highlight=htpc
    ¿Puede ser cosa de mi viejo P4 con XP ? Seguro que algo he hecho yo mal si a vosotros os funciona bien y las veis.
    Un saludo y a seguir asi. Gracias.

  4. Gracias por tu comentario quarter. Acabo de probarlo con Opera 12.17 y a mi si que me las carga.
    No creo que sea problema de XP, ni del Pentium 4. De hecho el arreglo lo hice sobre un Pentium 4 con Linux.
    Me temo que el problema es que no lo has instalado correctamente, o bien que la versión portable que estás usando no lo soporte.

  5. Hej, many gracias from me dude!

    Drozdman’s solution only partially worked for me while your works straight out of the box. Avoiding jQuery dependency really sealed the deal 🙂

    – Probably forever Opera 12.17 user.

  6. Hola amigo.

    He encontrado solucion rebuscando por la red:
    – escribes en la barra de direccion esto:
    opera:config
    – pinchas en Network y buscas el campo:
    HTTP Accept
    – y alli pegas esto:
    image/gif, image/jpeg, image/pjpeg, application/x-ms-application, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-ms-xbap, application/x-shockwave-flash, */*

    guardas y a funcionarrrrrrrr

    Un saludo y gracias Guti.

  7. Ese es el problema Manuel.
    La actualización de Tinypic y Photobucket, detecta el navegador de manera incorrecta, por lo que o bien se aplica mi script de usuario, o bien se agrega manualmente el MIME type de image/pjpeg como comentaba quarter.

    Una pena que desde Opera hayan optado por no darle soporte, y no liberarlo de manera que la comunidad pudiera mantenerlo.

  8. No entiendo como hacerlo, ya pegue en la barra de direccion opera:config y no me sale ninguna networt para pinchar, no entiendo nada, por favor si pudieras explicar para una persona que solo navega y ve videos y no sabe mucho mas, muchas gracias amigos.

  9. Lucía, la solución sólo es válida para Opera 12, y por lo que explicas, creo que tienes instalada una versión mucho más reciente. La buena noticia es que no necesitas hacer nada, puesto que las versiones de Opera actuales no tienen ningún problema con TinyPic.

Deja un comentario