Esto está relacionado con SSL and mixed content due to CSS background images pero esa pregunta no tuvo respuesta aceptada y la que estoy preguntando es un poco más específica.¿Cuáles son exactamente las reglas para evitar la advertencia de "contenido mixto" en IE debido a imágenes de fondo?
En algunas circunstancias, al acceder a un sitio web HTTPS, IE lanzará la advertencia de "contenido mixto" si a un elemento se le asigna un estilo con una imagen de fondo. He encontrado one forum reference que dijo que la advertencia puede evitarse si se pone la referencia en una hoja de estilo, por ejemplo
#someElement a {
width:11px;
height:11px;
display:block;
overflow:hidden;
background:url(../images/sprites_list.png) no-repeat;
cursor:hand;
cursor:pointer;
background-position:0px -72px;
}
pero no si se intenta crear la línea elemento, a la
$('#someElement').append("<a title='something' style='background: url(../images/sprites_list.png) no-repeat; ... // etc
y de hecho , esto funciona para mi He visto otros que dicen que debe usar una URL absoluta de https
para referirse a la imagen, en lugar de una relativa.
¿Cuál es la historia real aquí? ¿Hay alguna explicación "oficial" o al menos una referencia a cuáles son las reglas? O, en su defecto, ¿existe un conjunto estándar de directrices que, si se siguen, hace que sea extremadamente improbable que se active la advertencia?
También puede usar un protocolo relativo: http://paulirish.com/2010/the-protocol-relative-url/ – js1568
Interesante. Voy a investigar eso. Pero realmente necesito URLs relativas porque es un archivo CSS estático y no "sé" la base de URL absoluta para el resto de mi contenido estático. – Dan
Para su información, la URL relativa al protocolo _no_tratará con este error IE8 en particular si está configurando imagen de fondo a través de JavaScript. Debe utilizar la URL completa, incluidos el esquema y el host, para evitar la advertencia de contenido mixto IE8 cuando se realizan manipulaciones de estilo JS. ('element.style.backgroundImage =" //example.com/foo.png "' advertirá.) –
medmunds