2013-03-22 17 views
9

S1 sunucusunda barındırılan P1 sayfamda bir iframe var. Çalışma zamanında, iframe içindeki S2 sunucusunda barındırılan P2 sayfasını yüklemek için iframe.src= yapıyorum.Komut dosyası izin hatası, hatta CORS etkin

CORS'i ve sayfa P2 için sunucu S2'yi biliyorum, zaten Access-Control-Allow-Origin: *'u ayarlamıştım ve tarayıcıda kontrol ettiğimde yanıt üstbilgisinde de bunu doğrulayabilirim.

Şimdi sayfa P2 ve tüm varlıkları sadece dosya yükler, ancak P2'nin DOM'sine P1'den window.frames["iframe"].document kullanarak erişmeye çalıştığımda, izin hatası atar.

S2 sunucusunda Access-Control-Allow-Origin: * ayarlamama rağmen neden P2'nin DOM'sine erişemiyorum? Access-Control-Allow-Origin: *'un çalışması bu şekilde mi çalışıyor?

Request-Response

+0

Uçuş öncesi isteğinde ne olur? Bkz. Https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS – symcbean

+1

Evet, istek/yanıt başlık kaynaklarını görmek harika olurdu. –

+0

Eh, ben XMLHttpRequest kullanmıyorum ve "iframe.src" ile kullanıp kullanamayacağımı emin değilim. Ancak P2'nin yanıt başlığının S2'den gelen "Erişim-Kontrol-İzin-Menşei: *" içerdiğini doğrulayabilirim. – coreSOLO

cevap

1

Sen belgeler arasında iletişimi ayarlamak için PostMessages kullanabilirsiniz. Farklı alanlardan olsalar bile.

Verileri PostMessage üzerinden gönderebilirsiniz. Sınırlıdır, ancak bu hiçbir şeyden daha iyi değildir.

http://easyxdm.net/wp/'a bakın, üzerinde çalışmak için iyi bir api var. Uzun zaman önce ben çapraz etki alanı http < -> https ajax istekleri bu lib ile yaptım.

+0

Teşekkürler, ama maalesef "PostMessages" dan daha zengin kontrole ihtiyacım var. Tam DOM manipülasyonunu arıyorum ve "Erişim-Kontrol-İzin-Menşei: *" nin bana bunu sağladığını düşündüm. – coreSOLO

+0

@coreSOLO Eğer iframe sayfa kodunu değiştirebilirseniz, 'EasyXDM' üzerinden RPC çağrıları yapabilir ve ihtiyacınız olan herhangi bir DOM manipülasyonunu yapabilirsiniz. Kolay olmayacak, ama kesinlikle yapabilirsin. –

+0

@coreSOLO EasyXDM ile iframe'deki tüm komut dosyası etiketlerinden içerik toplayıp ana sayfaya gönderebildim –

İlgili konular