2011-01-18 47 views
15

Quiero hacer que el color de fondo sea negro y el color del texto blanco para que el contenido dentro del iframe tenga como fondo predeterminado el fondo blanco normal y el texto en negro. El atributo iframe src apunta a un dominio diferente al que no tengo acceso o no puede colocar ningún archivo o hoja de estilo en ese dominio. Entonces, dadas estas condiciones, ¿es posible hacer solo estos cambios de estilo en el contenido del iframe y de ser así, cómo?¿Cómo cambiar el estilo del contenido de iframe entre dominios?

Respuesta

25

La única posibilidad sería cargar el contenido del iframe a través de un proxy suyo y modificar el contenido HTML. No puede acceder a iframes desde otro dominio a través de JavaScript.

+0

¿Funcionará de la misma manera que funciona con su propia URL? – Brune

+0

@Brune Supongo que mi respuesta ya no es válida. ver: http://en.wikipedia.org/wiki/Same_origin_policy#Relaxing_the_same-origin_policy –

+0

Lo probé. Pero podría lograr esto. Gracias por la actualización – Brune

10

No es posible. El objetivo de Same Origin Policy es que no puede acceder o manipular contenido de otro dominio.

+4

-1: Señalar que la misma política de origen es buena. Pero no digamos que no es posible, ya que sin duda se puede hacer, aunque con un esfuerzo significativo como en la respuesta de Sean, o mínimamente, como en la respuesta de scmehetio. –

+1

@JonathanM: No estoy seguro de que justifique una voto abajo, siendo técnicamente correcto. Es cierto que no es posible modificar un iframe que esté protegido por la misma política de origen. Seguir con la respuesta de Sean está bien, pero ya no es un iframe de dominios cruzados. También evita una gran cantidad de otros problemas con los que debe lidiar, como las URL relativas para uno. En cuanto a la otra respuesta, los filtros de IE solo funcionan en IE. Así que estoy totalmente de acuerdo con esta respuesta ... pero, lo que sea :-) –

+1

Haces un buen punto sobre la respuesta eliminando la misma situación de origen. Vázquez eliminado. (Tuve que hacer una pequeña edición para facilitar la eliminación del downvote; ASÍ lo tenía bloqueado.) –

2

Ésta ha estado aquí por un tiempo, pero espero que esto ayude a alguien ....

Lo más cerca que se puede ver es el uso de un filtro en el marco flotante

de rayos X: hace que sea en blanco y negro, entonces se invierte eso.

<iframe style="filter:xray" src="..... 

Invertir: invierte todos los colores en lugar de simplemente intercambiando & en blanco y negro.

<iframe style="filter:invert" src="..... 

Ambos solo funcionan en IE. Pensé que estos solo funcionaban en imágenes hasta hace unos minutos ...

por ejemplo. http://www.ssi-developer.net/css/visual-filters.shtml

Cuestiones relacionadas