Jquery / javascript检测是否可以加载iframe

时间:2010-12-16 20:56:51

标签: javascript jquery iframe detection openx

我有来自其他服务器/域的OpenX广告的iframe。

当此广告服务器出现问题时,主服务器不会加载整个内容,因为openx在iframe中加载的域没有响应。我一直认为iframe独立于主站点工作,但如果域名根本没有回答则不会...

无论如何,主网站可以检测到iframe中的网址没有响应并跳过加载iframe并显示网站的其余部分?

5 个答案:

答案 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保持页面不加载。有没有办法防止这种情况?