我有来自其他服务器/域的OpenX广告的iframe。
当此广告服务器出现问题时,主服务器不会加载整个内容,因为openx在iframe中加载的域没有响应。我一直认为iframe独立于主站点工作,但如果域名根本没有回答则不会...
无论如何,主网站可以检测到iframe中的网址没有响应并跳过加载iframe并显示网站的其余部分?
答案 0 :(得分:1)
加载网站后如何加载iFrame?使用jQuery(甚至是使用window.load事件的普通javascript)很容易做到这一点。
因此,不想“检测”iFrame是否已加载,您可以在网站的其余部分完成加载后加载它。 (抱歉过度使用“加载”一词)
在jQuery中,您只需将url附加到document.ready事件的iFrame上。
空白iFrame
<iframe id="iframe-ad" width="200"></iframe>
在document.ready上加载URL的简单jQuery
<script type="text/javascript">
$(document).ready(function() {
$("#iframe-ad").attr("src", "http://www.google.com");
});
</script>
答案 1 :(得分:0)
不幸的是,除非它们是从同一个域提供的,否则没有简单的方法可以做到这一点。我知道有一种方法可以让iframe中的javascript对它所包含的父文件执行一些操作,但我不确定如何...
答案 2 :(得分:0)
由于Same origin policy,某些浏览器中存在一些“差距”,因此无法实现。但这不推荐!
答案 3 :(得分:0)
可能无法获得最佳体验,但您可以制作本地重定向文件。类似的东西:
<iframe src="http://www.mydomain.com/redir?url=http://www.theirdomain.com/ads"/>
然后redir页面返回
<script>
location.href = "${url}";
</script>
那么只要您的服务器响应,其他所有内容都会在iframe重定向时正常继续吗?
答案 4 :(得分:0)
如果我没有来自不同域的javascript jrame怎么样?如果域没有响应,则javascript保持页面不加载。有没有办法防止这种情况?