2010-12-12 8 views
5

Şu anda bir alt etki alanında bir alt sayfayı, bir iframe kullanarak bir alt sayfayı yüklemeye çalışıyorum ve alt etki alanı bir javascript işlevi çağırıyor (dom -se) ana alanım içinde, ana alanın içeriğin yüksekliğine göre iframe yeniden boyutlandırılabilmesi için. İşte bir örnekdocument.domain IE8 ile ilgili "izin reddedildi" sorunları

www.mysite.com (sayfa içinde kodu):

<script> 
document.domain = "mysite.com"; 

$(document).ready(function() { 
    window.parent.doSomething(); 
}); 
</script> 
:
<script type="text/javascript"> 
document.domain = "mysite.com"; 
function doSomething() { 
    //do something 
} 
</script> 
<iframe id="mytestid" src="test.mysite.com" height="0" width="900"></iframe> 

Ve diğer site test.mysite.com için

, burada sayfa içinde kod

Bu, firefox, safari ve krom için gayet iyi görünüyor, ancak IE8 için geçerli değil. IE8 hep sorunun devam edip etmediğini görmek için IE7 veya IE6 test etmek mümkün olmamıştır çağrı window.parent.doSomething()

yaparken bir hata "izin reddedildi" Bana verir ama herkes bu sorunla karşılaştı? Kodu koyduğum şekilde bir şey özledim mi?

Yardımlarınız için teşekkürler.

+0

olası yinelenen (http://stackoverflow.com/questions/2953158/permission-denied-ie-iframe) – alex

cevap

1

İşte birkaç olası sorunlar hakkında yorumların bir sürü iş parçacığı var: Ben IE yok gibi bu test etmedi

Not. Ne yazık ki, ne benim perspektifimden ikna edici görünüyor - deneyin ve sizin için çalışıp çalışmadığını görün.

  • sonrası IE aynı alana sahip olmaları tüm belgeleri gerektirir iddia:

    Yani, yukarıdaki görevinden, iki olası nedeni vardır görünüyor. Daha fazla belgeniz varsa (iframes ve benzeri), bunları kaldırmayı ve yalnızca bu iki (ana ve iframe) ile test etmeyi deneyin.

  • Gönderideki son yorumu görün - bu yalnızca bir yarış durumu olabilir.
2

document.domain “izni reddedildi” hem sayfaları aynı değere document.domain belirledik sonra bekleyen birkaç saniye ile bir setTimeout koyarak IE8 ÇÖZÜLDÜ ilgili sorunları deneyin !!

tıpkı diğer kullanıcı gibi, sadece iframe'in bulunduğu sayfada document.domain ayarlandıktan sonra birkaç saniye sonra bir zaman aşımı ayarlayın ve sonra iframe içinde ikinci sayfanızı arayın.

sen, IE8 üzerinde Document.domain kurmak ve işe yarayacak sonra birkaç saniye .. iframe'iniz SRC değerini ayarlamak gerekir

1

Ben bir zaman aşımı vermedi kullanarak aynı konuda koştu ve sorunu çöz.

Her şeyin iyi çalıştığı benzer ayarlara sahip başka bir sitem olduğu için, her iki pencereyi de yan yana açtım ve altta "Yerel İntranet" altındaki durum çubuğunda, diğeri "Güvenilir Siteler" altında olduğunu fark ettim ".Her iki alt alan IE Internet Security Özellikleri Aynı Güvenlik Bölgesinde yer verildiğinden emin olun:

Bu kontrol etmek başka bir noktaya götürdü! Onlar yoksa, o zaman bir hata "İzin verilmedi" gerekecek. [IE iFrame engellendi İzin] arasında