- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
[JS]var urls = window._content.document.getElementsByTagName('a');
var ii = 1;
for(var i=0; i<urls.length; i++) {
if (urls.parentNode.tagName == 'P'){
if (urls.parentNode.parentNode.tagName == 'DIV'){
if(urls.parentNode.parentNode.parentNode.tagName == 'TD'){
window._content.setTimeout(function(){
urls.parentNode.innerHTML = urls.parentNode.innerHTML+'<div id="fp_link_info_'+i+'">Загрузка ссылок с Yahoo</div>';
get_url('http://siteexplorer.search.yahoo.com/search?p='+urls.href, function(data) {
var pattern_inlinks = /Inlinks\s\((.*?)\)/i;
var p_result = pattern_inlinks.exec(data);
window._content.document.getElementById('fp_link_info_'+i).innerHTML = '<b>Ссылок: '+p_result[1]+'</b>';
});
alert('done');
}, (1000 * ii ));
ii++;
}
}
}
}[/JS]
Вообщем после 1-го вызова функции в setTimeout она не продолжает работу.... alert('done') выводит, а дальше ничего не происходит по циклу дальше ничего не делает... если убрать соотвественно setTimeout, то все работает норма... мне просто нужно интервал задавать между вызовом функции... что-то типа sleep'а)) есть у кого какие предположения?
p.s. window._content = аналогично window....... просто плагин для файрфокса делаю)
ii++;
поставьте после ii++;
alert('123');
Если в таком варианте заработает, тогда более подробно объясню что нужно делать.
Во первых вы пишете уже существующий плагин - SeoQuake умеет показывать кол-во беков с яху для всех ссылок на странице.
Во вторых вам должно быть известно что у setTimeout первый параметр не Callback функция а строка(фактически она evalом вызывается). Т.е. например бесполезно писать setTimeout(myFunc,100), надо писать setTimeout("myFunc()", 100), таким образом функция должна быть объявлена на верхнем уровне и никаких замыканий тут сделать не получится, придется ей параметры передавать.
Точнее говоря, конечно последние стандарты js допускают передачу первым параметром функцию (и скорее всего файрфокс это поддерживает), но замыкание все равно не сработает, нужно передавать параметры, они передаются после таймаута
setTimeout(function(){...},100,arg1,arg2,arg3...);
Точнее говоря, конечно последние стандарты js допускают передачу первым параметром функцию (и скорее всего файрфокс это поддерживает), но замыкание все равно не сработает, нужно передавать параметры, они передаются после таймаута
setTimeout(function(){...},100,arg1,arg2,arg3...);
Замыкание реализуется следующим образом
setTimeout(function(i){return function(){....=i}}(x),1000);
Хотя сам мелкософт не очень рекомендует это использовать и, кажется, сделал даже заплатку от утекания памяти при таком вызове.
Но здесь ведь рассматривается иной случай. Здесь используются только глобальные параметры
Замыкание реализуется следующим образом
setTimeout(function(i){return function(){....=i}}(x),1000);
Но здесь ведь рассматривается иной случай. Здесь используются только глобальные параметры
Данный кусок кода не дает понять (лично мне) где объявлен например var Urls. Либо это глобальный уровень, либо локальный по отношению к какой то функции которую этот плагин втыкает в код страницы. Так что пес его знает. Я бы в любом случае от этого отказался.
neolord добавил 20.03.2009 в 17:39
Хотя сам мелкософт не очень рекомендует это использовать и, кажется, сделал даже заплатку от утекания памяти при таком вызове.
Да, было такое.
А нет возможности в действии скрипт посмотреть? чтоб дебагером прогнать все проще ошибки находить