2012-09-27 123 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