2010-10-18 13 views
5

Mam element iframe, którego używam do pobierania treści hostowanych przez dostawcę zewnętrznego do naszej witryny. Próbujemy określić wysokość tej treści, aby dostosować wysokość iframe, ale otrzymuję błędy cross site scripting. Nie wiedziałem, że subdomeny są liczone jako cross-site. Czy jest jakiś sposób obejścia tego bez konieczności trzymania ich na pasujących subdomenach?Skrypty między witrynami w tej samej domenie, różne subdomeny

W celach informacyjnych nasz cotygodniowy marketing jest hostowany przez zewnętrznego dostawcę w technologii flash, ale z subdomeną możemy przekierować do nich, zachowując użytkownika w naszych domenach w celach związanych z plikami cookie.

Odpowiedz

3

wziąć również do obejrzenia cross window messaging

ta pierwsza strona jest nadawca - to dzwoni postMessage (wysyłanie wiadomości tekstowych), a także posiada iframe wewnątrz którego znajduje się okno odbiorcze.

<iframe src="http://dev.jquery.com/~john/message/" id="iframe"></iframe> 
<form id="form"> 
    <input type="text" id="msg" value="Message to send"/> 
    <input type="submit"/> 
</form> 
<script> 
window.onload = function(){ 
     var win = document.getElementById("iframe").contentWindow; 
     document.getElementById("form").onsubmit = function(e){ 
       win.postMessage(document.getElementById("msg").value); 
       e.preventDefault(); 
     }; 
}; 
</script> 

Strona naśladowania jest odbiornik - ma detektor zdarzenia związanego który zegarki na komunikaty są przekazywane do niej i wstrzykuje je w DOM.

<b>This iframe is located on dev.jquery.com</b> 
<div id="test">Send me a message!</div> 
<script> 
document.addEventListener("message", function(e){ 
     document.getElementById("test").textContent = 
       e.domain + " said: " + e.data; 
}, false); 
</script> 
+0

Podczas gdy ten link może odpowiedzieć na pytanie, lepiej umieścić tutaj istotne części odpowiedzi i podać link do odsyłacza. Odpowiedzi dotyczące linków mogą stać się nieprawidłowe, jeśli strona z linkami się zmieni. – VMAtm

+0

Oczywiście ... Ale tutaj muszę skopiować dużo ze strony, aby pokazać przykład. – mplungjan

Powiązane problemy