Выполнение JavaScript после загрузки другого сайта - PullRequest
2 голосов
/ 19 марта 2011

Мне нужно написать веб-приложение, которое проверит, содержит ли сайт элемент (например, div с id = "iamhere"). Этот сайт может быть любым сайтом, он не находится в том же домене, что и мой скрипт. Я думал о том, чтобы сделать что-то вроде:

  1. Зайдите на мой сайт, загрузите библиотеку javascript.
  2. Загрузить другой сайт.
  3. Выполнить мою функцию.

Это кажется невозможным - я прав (выполнение скрипта прекращается после window.location.assign (), и нет способа "привязать" тег скрипта к DOM сайта)? У кого-нибудь есть идея, как заставить это работать? Я знаю, что могу использовать yql, но, возможно, есть лучшее решение.

Ответы [ 3 ]

0 голосов
/ 19 марта 2011

Вам нужно будет загрузить сайт с языком сценариев, чтобы он действовал как прокси.В этом примере я буду использовать PHP:

<?php

$file = file_get_contents('http://www.google.com');

echo $file;

?>

Когда необходимо заполнить div - вы можете сделать это с помощью JavaScript.Если вы используете jQuery, это будет выглядеть примерно так:

<script>
$(function(){
    $('#amihere').load('myphpproxyfile.php');
});
</script>
0 голосов
/ 07 мая 2011
0 голосов
/ 19 марта 2011

Проверьте функцию JavaScript setTimeout () .Вы можете периодически проверять готовность чего-либо с чем-то вроде этого:

function checkReadyState() 
{
  if (somethingIsReady)  {
    doStuffWhenReady();
  }
  else {
    setTimeout(function() { checkReadyState(); }, 200);   //Waits 200 milliseconds and calls checkReadyState() again.
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...