2010-12-16 55 views
0

我有來自另一個服務器/域的OpenX ads I服務器的iframe。如果iframe可以被加載,jquery/javascript檢測

當這個廣告服務器發生什麼事情時,主服務器不會加載整個內容,因爲在iframe中加載的域沒有響應。我一直認爲,iframe獨立於主站點工作,但它不會如果域名根本不應答...

無論如何,主站點可以檢測某個URL在iframe沒有響應,並跳過加載iframe並顯示該網站的其餘部分?

回答

1

加載網站後,如何加載iFrame?使用jQuery(甚至使用window.load事件實現純JavaScript)很容易。

因此,不是想要「檢測」iFrame是否已加載,您可以在網站的其他部分完成加載之後加載它。 (對於過多使用'load'這個單詞感到抱歉)

在jQuery中,您可以簡單地將url附加到document.ready事件的iFrame上。

空白的iFrame

<iframe id="iframe-ad" width="200"></iframe> 

簡單的jQuery上加載的document.ready

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#iframe-ad").attr("src", "http://www.google.com"); 
    }); 
</script> 
+0

Thanx,好主意,效果很好! – Jerry2 2010-12-17 12:25:50

0

不幸的是沒有簡單的方法來做到這一點,除非它們是從同一個域中提供的。我知道有一種方法可以讓iframe中的javascript對包含在其中的父文檔執行一些操作,但我不確定如何...

0

這是不可能的,因爲Same origin policy,那裏在某些瀏覽器中存在一些「空白」。但是這不會推薦!

0

可能無法提供最佳體驗,但可以創建本地重定向文件。是這樣的:

<iframe src="http://www.mydomain.com/redir?url=http://www.theirdomain.com/ads"/> 

然後再導向頁面只是返回

<script> 
    location.href = "${url}"; 
</script> 

這樣,只要你的服務器響應,其他的一切都會繼續正常而在iframe重定向?

0

的網址怎麼樣,如果我沒有IFRAME只是從不同的域發起的javascript ?如果該域沒有響應,則JavaScript將該頁面保持不加載。有沒有辦法阻止?