2011-05-28 16 views
11

Tamam, bir sayfada iframe kullanıyorum. Iframe içindeki içerik üzerinde hiçbir kontrolüm yoktur ve bir Adobe Flash programı ile kullanılmaktadır.iframe içeriğinin gönderilmesinden sonra iframe'in çıkması gerekiyor

Ancak, form iframe içinde özetlendikten sonra (yine üzerinde hiçbir denetimim yok), bir SAYFA yükler, KONTROL EDİYORUM, ancak IFRAME içinde bu sayfayı iframe'den ayırmak yerine bu sayfada. Sadece bu sayfada iframe'den nasıl ayrılırım?

bazı JavaScript gerekli olduğunu farz ediyorum, ama bu kod iyi değil:

if (top.location != self.location) { 
top.location = self.location; 
} 

site için ana dizin sayfasını bu kod yükleri yukarı kullanma. Formu gönderdikten sonra sayfayı yüklemek için sadece buna ihtiyacım var. Yine, iframe içinde formun gönderilmesinden sonra iframe içinde yüklenen sayfaya erişebiliyorum.

Lütfen bana yardım edin.

Belki de bunu yapmanın zor bir yolu var mı? Örneğin, sayfa yüklenirken mi? Ya da bir şekilde iframe'in gönderildiğini kontrol edin? Web sitemdeki her iki sayfayı da (iframe'i orijinal olarak tutan sayfa ve iframe'nin gönderildiği sayfa) kontrol ediyorum.

Teşekkür :)

+0

https://css-tricks.com/snippets/javascript/break-out-of-iframe/ esinlenerek? Ayrıca, farklı alan adlarına sahip dış ve iç sayfaların neden olduğu bir güvenlik sorununa da yol açabilir misiniz? – ErikE

cevap

11

ben kontrol etmek için bir bilgisayar başında değilim ... Bu

if(this != top){ 
    top.location.href = this.location.href; 
} 

Çok doküman referansı gerekebilir

patlak etmek istiyorum inanıyoruz. benim için çalıştı Ne

if(this != top){ 
    top.document.location.href = this.document.location.href; 
} 
+0

Bu kodu nereye koyayım? Kafada? Bu şeyin ne olduğunu nereden biliyor? Ya da Javascript'in içinde ne var? Otomatik olarak bilecek mi yoksa tanımlanması mı gerekiyor? – SoLoGHoST

+0

bu işe yaramaz, hala iframe'nin gittiği URL yerine site dizinine yönlendiriyor. – SoLoGHoST

+0

Sayfanın URL'si nedir? ve sadece bir çerçeve var mı? Soruyorum çünkü bu kodu düzinelerce kez kullandım ve çalıştığını biliyorum. Evet, kafanıza ya da vücudunuza koyabilirsiniz ... üstteki en üstteki pencereye genel bir referanstır ve bu otomatik olarak "bu" pencereye başvurur. PS Biraz düşmüş olabilirim, tam adında 'belgeye' ihtiyaç duyabilir. – scunliffe

1

oldu:

(function() { 
    'use strict'; 
    console.log('window.top.location', window.top.location); 
    console.log('window.location', window.location); 

    if (window.location !== window.top.location) { 
     window.top.location = window.location; 
    } 
})(); 

Eğer dış sayfaya veya iframe'in sayfasında kod koyuyor

İlgili konular