0

我有来自另一个服务器/域的带有 OpenX 广告的 iframe。

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

无论如何,主站点可以以某种方式检测到 iframe 中的 url 没有响应并跳过加载 iframe 并显示站点的其余部分吗?

4

5 回答 5

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>
于 2010-12-16T21:13:29.617 回答
0

不幸的是,除非它们来自同一个域,否则没有简单的方法可以做到这一点。我知道有一种方法可以让 iframe 中的 javascript 对其包含的父文档执行一些操作,但我不确定如何......

于 2010-12-16T21:07:11.967 回答
0

这是不可能的,因为同源策略,在某些浏览器中存在一些“差距”。但这不推荐!

于 2010-12-16T21:10:38.220 回答
0

可能无法获得最佳体验,但您可以制作本地重定向文件。就像是:

<iframe src="http://www.mydomain.com/redir?url=http://www.theirdomain.com/ads"/>

然后redir页面刚刚返回

<script>
    location.href = "${url}";
</script>

这样,只要您的服务器正在响应,其他一切都会在 iframe 重定向时正常进行吗?

于 2010-12-16T21:10:52.567 回答
0

如果我没有 iframe 只是来自不同域的 javascript 怎么样?如果域没有响应,javascript 会阻止页面不加载。有没有办法防止这种情况?

于 2010-12-17T22:20:21.327 回答