Обнаружение Jquery / Javascript, если можно загрузить iframe - PullRequest
0 голосов
/ 16 декабря 2010

У меня есть iframes с сервером объявлений OpenX I с другого сервера / домена.

Когда что-то происходит с этим рекламным сервером, главный сервер не загружает все содержимое, потому что домен, который загружает openx в iframe, не отвечает. Я всегда думал, что iframe работает независимо от основного сайта, но не работает, если домен вообще не отвечает ...

В любом случае, может ли основной сайт как-то определить, что URL в iframe не отвечает, пропустить загрузку iframe и показать остальную часть сайта?

Ответы [ 5 ]

1 голос
/ 17 декабря 2010

Как насчет загрузки iFrame после загрузки сайта? Это довольно легко сделать с помощью jQuery (или даже обычного javascript, использующего событие window.load).

Таким образом, вместо того, чтобы «определять», загружен ли iFrame, вы можете загрузить его ПОСЛЕ того, как загрузится остальная часть веб-сайта. (извините за чрезмерное использование слова «нагрузка»)

В jQuery вы можете просто прикрепить URL к iFrame в событии document.ready.

Пустой кадр

<iframe id="iframe-ad" width="200"></iframe>

Простой jQuery для загрузки URL в document.ready

<script type="text/javascript">
    $(document).ready(function() {
        $("#iframe-ad").attr("src", "http://www.google.com");
    });
</script>
0 голосов
/ 18 декабря 2010

Как насчет того, если у меня нет iframe, просто javascript из другого домена? Если домен не отвечает, javascript удерживает страницу, чтобы она не загружалась. Есть ли способ предотвратить это?

0 голосов
/ 17 декабря 2010

Это невозможно, так как Одинаковая политика происхождения , в некоторых браузерах есть некоторые "пробелы".Но это не собираюсь рекомендовать!

0 голосов
/ 17 декабря 2010

Может быть не для лучшего опыта, но вы можете сделать локальный файл перенаправления. что-то вроде:

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

тогда страница перенаправления просто возвращается

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

Таким образом, пока ваш сервер отвечает, все остальное будет работать как обычно, в то время как iframe перенаправляет?

0 голосов
/ 17 декабря 2010

К сожалению, нет простого способа сделать это, если они не обслуживаются из одного домена. Я знаю, что есть способ заставить javascript внутри iframe выполнять некоторые действия над родительским документом, в котором он содержится, но я не совсем уверен, как ...

...