Обработка страницы по ходу ее загрузки
Собственно вопрос в забже. :)
Я пытаюсь менять чужую страничку, ее интерфейс. Для этого прикрепляю локальные скрипты (они работают уже до начала загрузки страницы). Далее можно указать window.onload, но здесь две проблемы: 1) Сама страница переопределяет window.onload под свои нужды. 2) Страница может грузиться долго, а загруженные элементы желательно модифицировать (innerHTML/outerHTML) как можно раньше. А то иначе страница загружается как есть, а потом (через заметное время) резко меняет свой вид. Пробовал парсить весь документ, игнорируя факт загрузки. Но вот проблема: если элемент <h1>xxxyyy</h1> был загружен наполовину (<h1>xxx), то и для изменения будет доступна только половина. Остальная часть спокойно дозагрузится к модифицированному варианту. Итак, вопрос - как определить, загружен элемент или нет? К примеру ищем первое вхождение h1: var h1=document.getElementsByTagName('h1'); Как узнать, что h1[0] полностью загружен? |
Мой вариант.
1. Ставим greasemonkey для ФФ (при чем для хрома свои финты ушами, для оперы совсем свои, на ие не пробовал) 2. Делаем setTimeout и стартуем свою функцию. Вариант как начать: // ==UserScript== // @name Имя скрипты. лучше латинницей // @namespace *site.ru/* // @description Описание скрипта // @include *site.ru/* // @require [url]http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js[/url] // ==/UserScript== $(document).ready(function() { //тут уж точно по загрузке, но с фреймами иногда не прокатывает, надо setTimeout(function(){ //основной код },200); }); Посмотреть, точнее получить ссылки где и как скачать, примеры с кроссдоменным запросом для вышеозначенных браузеров можно тут http://alideria.ru/forum.php?thread=7520&f=0 (первый пост) |
Цитата:
Цитата:
|
zOdmin,
ну как бы мне проще на jQuery. Если ты знаешь js настолько, что можешь сам написать функцию ready, то по чему нет? И опять-таки jQuery в дальнейшем пригодится для обработки и вставки результатов на страницу. |
Ладно, спасибо, попробую.
|
Часовой пояс GMT +3, время: 14:19. |