2009-09-01 12 views
13

Bir iframe'in içeriğine erişmeye ve bunları düzenlemeye çalışıyorum. Iframe, kendi alanımdaki bir alt alandaki bir sayfaya işaret eder. Bu gerçekten önemli değil, kullanıyorum javascript kodu. Onu çalıştırdığınızdawww. Kullanıyorsanız, bir alt alanın içeriğine iframe erişebilir miyim? ana alanda?

$('iframe').load(function(){ 
    $('div.code textarea.html').val($(this).contents()[0].html()); 
}); 

ben www.domain.com gelen example.domain.com erişim iznine sahip olmadığını söylüyor. Erişim yapmaya çalıştığım alanın www mi olduğu önemli mi? Çünkü sahibim www kullanmama izin vermiyor.

cevap

21

Aynı Kaynak-İlkesi, varsayılan olarak aynı ana bilgisayar adını gerektirir.

, belirlememeyi anlatmak için: (. Www) hem ebeveyn de komut dosyasından

document.domain= 'domain.com'; 

belge ve iframe (. Örnek) belgesi.

Komut dosyasından statik olarak yazılan bir iframe (veya resim) yükünün güvenilir olmadığına dikkat edin; çünkü iframe öğesinin iframe etiketini okuduğu ve okumaya başladığı zaman arasında tamamen yüklenebileceği düşünülür. yükü ayarlayan komut dosyası etiketi.

Bunu önlemek için, olay işleyicisini satır içi '< iframe onload = "doSomething()"' özniteliğini (satır içi olay işlemenin bir amacı olduğu birkaç yerden biri) veya erişilebilirlik için kabul edilebilirse, iframe öğesinin kendisini komut dosyasından oluşturun, src'yi yazmadan ve sayfayı sayfaya eklemeden önce yükü ayarlayın.

+0

Bu, alt etki alanının etki alanının çerezlerine erişmesini mümkün kılar mı? – fent

+1

‘window.parent.document.cookie’ okunurken, evet. Bununla birlikte, "etki alanı" çerez parametresi tarafından çerezlerin gönderilmesi ve alınması, document.domain tarafından etkilenmez. – bobince

İlgili konular