2011-01-18 10 views
15

Chcę, aby kolor tła był czarny, a kolor tekstu biały dla zawartości wewnątrz elementu pływającego z domyślnego białego tła i czarnego tekstu. Atrybut src iframe wskazuje na inną domenę, do której nie mam dostępu lub nie może umieścić żadnego pliku ani arkuszy stylów w tej domenie. Czy biorąc pod uwagę te warunki, możliwe jest dokonanie tylko tych zmian stylu w treści elementu iframe, a jeśli tak, to w jaki sposób?Jak zmienić styl treści iframe między domenami?

Odpowiedz

25

Jedyną możliwością jest załadowanie treści elementu iframe za pośrednictwem serwera proxy i zmodyfikowanie treści HTML. Nie możesz uzyskać dostępu do ramek iframe z innej domeny za pomocą JavaScript.

+0

Czy to działa tak samo, jak działa z własnym adresem URL? – Brune

+0

@Brune Zgaduję, że moja odpowiedź nie jest już ważna. zobacz: http://en.wikipedia.org/wiki/Same_origin_policy#Relaxing_the_same-origin_policy –

+0

Wypróbowałem to. Ale może to osiągnąć. Dziękuję za aktualizację – Brune

10

Nie jest to możliwe. Cały punkt Same Origin Policy polega na tym, że nie można uzyskać dostępu do treści z innej domeny ani manipulować nimi.

+4

-1: Wskazanie tej samej polityki pochodzenia jest dobre. Ale nie mówmy, że nie jest to możliwe, jak to z pewnością można zrobić, choć z dużym wysiłkiem, jak w odpowiedzi od Seana, lub minimalnie, jak w odpowiedzi od scmehetio .. –

+1

@ JonathanM: Nie jestem pewien, czy gwarantuje to głosowanie w dół, technicznie poprawne. To prawda, że ​​nie można zmodyfikować elementu iframe, który jest chroniony przez tę samą zasadę pochodzenia. Pójście z odpowiedzią Seana jest w porządku, ale nie jest już iframe między domenami. Zapobiega to także istnieniu wielu innych problemów, z którymi masz do czynienia, takich jak względne adresy URL dla jednego. Jeśli chodzi o inne odpowiedzi, filtry IE działają tylko w IE. Więc w pełni podtrzymuję tę odpowiedź ... ale cokolwiek :-) –

+1

Dobrze trafiłeś w odpowiedź, eliminując tę ​​samą sytuację początkową. Downvote usunięte. (Musiałem zrobić małą edycję, aby ułatwić usunięcie downvote, SO miał to zablokowane.) –

2

Ten jeden był tutaj jakiś czas, ale mam nadzieję, że to pomoże ktoś ....

Najbliżej widzę jest za pomocą filtra na iframe

Xray: sprawia, że ​​czarne i białe potem odwraca to.

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

Invert: odwraca wszystkie kolory, a nie tylko zamiana czarny & biały.

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

Obie działają tylko w IE. Myślałem, że te zdjęcia działają tylko na zdjęciach do kilku minut ...

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

Powiązane problemy