2012-09-27 180 views
1

我有一個從CartoDB加載地圖的iframe。如果iframe未從URL加載,請加載縮略圖圖像

<iframe src='https://recology.cartodb.com/tables/condma_1_cleaned/embed_map' width='900' height='600'></iframe> 

此iframe嵌入在html演示文稿中。當我在做演示時,可能不會有互聯網。在這種情況下,如果地圖的屏幕截圖會加載,那將會很不錯。

如何在加載實時版本時由於缺少互聯網訪問而導致地圖加載失敗?

+0

一月底關閉BODY標記之前障礙是檢測負載故障,請參見[(1)](http://stackoverflow.com/questions/375710/detect-failure-to-load-contents-of-an-iframe),[(2)](http: //stackoverflow.com/questions/35240/retrieving-http-status-code-from-loaded-iframe-with-javascript?lq=1) - 那麼你只需要替換iframe與img尺寸相同。 jQuery使用['.replaceWith()'](http://api.jquery.com/replaceWith/)命令足夠簡單。 – Orbling

+1

謝謝,正在研究該解決方案。 – sckott

回答

0

this答案,這樣您就可以做類似下面的借款:

<script type="text/javascript" src="/javascripts/jquery.js"></script> 
<script id="iframe_loader"> 
function loadIframe() { 
    var iframe_element = document.getElementById('iframe_id'); 
    if (navigator.onLine) { 
    iframe_element.src = 'www.CartDB_url.com'; 
    } else { 
    iframe_element.src = '/local_version_CartDB.htm'; 
    } 
} 
</script> 

然後你在你的網站的投入

<script> 
    loadIframe(); 
</script> 
+0

謝謝。試過這個,它只是一次加載我所有的幻燈片。我使用deck.js.有什麼想法嗎? – sckott

+0

我的幻燈片位於此[github回購]的index.html文件中(https://github.com/SChamberlain/posterstalks/tree/gh-pages/ucalgarytalk) – sckott

+0

我已經在拉取請求中添加了代碼,現在你可以看到如何做另一次:) – leifdenby