La solución de Kabir es correcta. La URL de mi imagen era
/images/ads/homepage/small-banners01.png,
y esto estaba tropezando con AdBlock. Este no fue un problema de dominio cruzado para mí, y falló tanto en localhost como en la web.
Estaba usando la pestaña de red de Chrome para depurar y encontré resultados muy confusos para estas imágenes específicas que no se pudieron cargar. La primera solicitud no devolvería ninguna respuesta (Estado "(pendiente)"). Más adelante en la línea, hubo una segunda solicitud que enumeraba la URL original y luego "Redirigir" como el Iniciador. Los encabezados de solicitud de redireccionamiento fueron todos para esta línea corta idéntica de datos codificados en base64, y cada uno no devolvió respuesta, aunque el estado era "Exitoso":
GET data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg== HTTP/1.1
Más tarde noté que estos estilos en línea se agregaron a todos los elementos de la imagen:
display: none !important;
visibility: hidden !important;
opacity: 0 !important;
Finalmente, no recibí ningún mensaje de "error al cargar el recurso" en la consola, sino más bien esto:
Port error: Could not establish connection. Receiving end does not exist.
Si alguna de estas cosas te está sucediendo, probablemente tenga algo que ver con AdBlock. Apáguelo y / o cambie el nombre de sus archivos de imagen.
Además, debido al CSS en línea creado por AdBlock, el diseño del control deslizante de mis promociones se estaba descartando. Si bien pude solucionar los problemas de diseño con CSS antes de encontrar la solución de Kabir, el CSS fue algo innecesario y afectó la flexibilidad del control deslizante para manejar imágenes de varios tamaños.
Supongo que la lección es: tenga cuidado con el nombre de sus imágenes. Estas imágenes no eran maliciosas ni molestas, ya que alertaban a los visitantes sobre las promociones y especiales actuales de una manera discreta.