2011-03-18 19 views
8

Oturum açma sayfam bir iframe'de var ve iframe içinde ajax ve jquery kullanarak üst pencereyi yeniden yüklemeksizin yeniden yüklemek istedim ancak bu gibi hatalar alıyorum lütfen alt pencereyi bir iframe içinden yeniden yükleyin

 
(this[0].ownerDocument || this[0]).createDocumentFragment is not a function
lütfen yardım edin!

cevap

33

Ben

parent.location.reload(); 

sonra ben hedef iFrame

$("#log-inout").trigger("click"); 

Ben tuhaf bir durum için böyle bir sistem gerekli açmak için bir tetikleyici ateş JavaScript kullanarak sayfayı yeniden yükleyerek bu elde edebiliriz. Bu, benzer koşullarda başkalarına yardımcı olabilir. İlk neredeyse ajax gibi daha etkili güncellemek gibi görünüyor ederken

+5

Bu, yalnızca her iki pencereyi aynı konumdan yüklediyseniz çalışır. Aksi halde, tarayıcı "Aynı Kaynak Politikası" ihlal edildiği için yeniden yüklemeyi reddeder. Aynı Bert-Jan tarafından parent.location.href cevap için de geçerlidir. – Pavel

3

rahatsız etmeyin! ajax kullanıyorsanız neden iframe kullanmalısınız.

sadece ("Burada içerik yüklemek istediğiniz")

$ kullanarak giriş yük yük ("burada iframe src.");

çok daha basit ve çok daha zarif.

+0

i aslında iframe (giriş) –

+0

ilginç bir fikir hala iken bir kullanıcı oturum sonra içindekileri (parentwindow) yenilemek istedik , dikkat etmeye değer! – Andrew

17
parent.location.href=parent.location.href 

parent.location.reload() 

ikincisi güçlerin tam bir yeniden daha yumuşak bir sonuç verir.

window.parent.location.href = "Create?Param=value"; 

Veya:

+0

hhm ... teşekkür ederim! –

+5

Üst etki alanı iframe etki alanında bu şekilde farklıysa bunu yapamazsınız. "Protokoller, alanlar ve bağlantı noktaları eşleşmelidir." –

0

kullanabilirsiniz

window.parent.location.href = "http://www.stackoverflow.com"; 
İlgili konular