我有來自另一個服務器/域的OpenX ads I服務器的iframe。如果iframe可以被加載,jquery/javascript檢測
當這個廣告服務器發生什麼事情時,主服務器不會加載整個內容,因爲在iframe中加載的域沒有響應。我一直認爲,iframe獨立於主站點工作,但它不會如果域名根本不應答...
無論如何,主站點可以檢測某個URL在iframe沒有響應,並跳過加載iframe並顯示該網站的其餘部分?
我有來自另一個服務器/域的OpenX ads I服務器的iframe。如果iframe可以被加載,jquery/javascript檢測
當這個廣告服務器發生什麼事情時,主服務器不會加載整個內容,因爲在iframe中加載的域沒有響應。我一直認爲,iframe獨立於主站點工作,但它不會如果域名根本不應答...
無論如何,主站點可以檢測某個URL在iframe沒有響應,並跳過加載iframe並顯示該網站的其餘部分?
加載網站後,如何加載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>
不幸的是沒有簡單的方法來做到這一點,除非它們是從同一個域中提供的。我知道有一種方法可以讓iframe中的javascript對包含在其中的父文檔執行一些操作,但我不確定如何...
這是不可能的,因爲Same origin policy,那裏在某些瀏覽器中存在一些「空白」。但是這不會推薦!
可能無法提供最佳體驗,但可以創建本地重定向文件。是這樣的:
<iframe src="http://www.mydomain.com/redir?url=http://www.theirdomain.com/ads"/>
然後再導向頁面只是返回
<script>
location.href = "${url}";
</script>
這樣,只要你的服務器響應,其他的一切都會繼續正常而在iframe重定向?
的網址怎麼樣,如果我沒有IFRAME只是從不同的域發起的javascript ?如果該域沒有響應,則JavaScript將該頁面保持不加載。有沒有辦法阻止?
Thanx,好主意,效果很好! – Jerry2 2010-12-17 12:25:50