С локалкой работает а с сетью нет.
Потребовалось мне прочитать значения некоторых полей в загружаемых страницах сайтов.
Написал небольшой скрипт:
$(document).ready(function() {
var win=window.open("http://localhost/forum/newthread.php?do=newthread&f=13","","width=1000,he ight=350");
//alert(win);
//win.onload = a(win);
//alert(win);
//function a(wins) {
setTimeout(ass(),5000);
//}
function ass() {
//alert(win);
var l = win.document.forms[2].elements[0].value;
alert(l);
}
Сделал тестовую страницу. Попробовал на локалхосте. Все работает.
Попробовал на реальном скрипте также установленом локально. То же работает. Задавал задержки в 5, 7 и 10 секунд. За это время и страница подгружается и я успеваю внести хоть какие то данные в поля. Все нормально читается.
Попробовал с реальным сайтом из интернета. Не тут то было.
Не хочет читать и все. Пробовал читать и так как в скрипте и по id читать и по имени. Ничего, а на локалхосте все эти варианты работают.
Начал смотреть значение переменной win . При работе с сетью сразу после назначения выдает "объект виндос", а после задержки выдает неопределенность.
Попробовал поиграть с задержкой. Если поставить 0.5 секунды или меньше то эта переменная определяется, если больше то очищается. Ну и разумеется поэтому ни чего и не читается.
Но при малой задержке страница не успевает подгрузится и читать просто нечего.
Пробовал и через событие onload, но оно возникает раньше чем страница выводится на экран и все равно нужна задержка.
Вот отсюда и вопрос. Почему сбрасывается эта переменная при работе с сетью?
Последний раз редактировалось VOVOKA, 19.11.2010 в 20:14.
|