|
|
|
| Проблема такая: есть некий сайт, на котором работает несколько скриптов. Один из них изменяет класс некоторых рядов таблицы в зависимости от определённых условий. Мой скрипт использует различие в классах этих рядов для своей работы(больше зацепиться не за что), но по какой-то причине изменение классов происходит уже после отработки моего скрипта. Поэтому результат не совсем корректен.Как можно заставить мой скрипт работать самым последним. Обучаюсь по книге, поэтому знаний - минимум. Пробовал window.onload, но не помогает. Вариант с кнопкой, запускающей мой скрипт, не подходит. Необходимо, чтобы он начинал работу сразу после загрузки документа. Я так понимаю можно принудительно вставить свой скрипт в конец документа при помощи document.appendChild, но опять же изменения классов сторонним скриптом будут происходить позже.
Наверное, можно поставить что-то типа таймера, но хотелось бы без временных потерь.
Как мне правильней сделать?
Заранее благодарю за ответ. | |
|
|
|
|
|
|
|
для: paleshuk
(27.08.2010 в 23:05)
| | >но опять же изменения классов сторонним скриптом будут происходить позже
что еще за сторонний скрипт? он ваш? вы можете его редактировать? если можете, то нет проблем. просто в конце "стороннего скрипта" вызовите исполнение той функции, которая обязательно должна работать в конце.
>Как "заставить" скрипт работать самым последним?
вызвать его самым последним. | |
|
|
|
|
|
|
|
для: deimand
(28.08.2010 в 00:27)
| | В том то и дело, что не мой. Был бы мой - проблемы бы не было. Страница на чужом сайте, просто нужно немного подкорректировать отображение данных.
Но, спасибо за наводку. Действительно, надо порыться в исходном коде страницы, найти нужное место и сделать так, чтобы мой скрипт запускался после чужого.
Да блин, аж самому смешно. Полдня убил на всякие извращённые способы, а самый простой вариант оказался самым правильным.
Ещё раз спасибо.
Кстати, вопрос вдогонку.
Допустим я нашёл место в исходнике страницы, где необходимо вставить свой скрипт ("налету" - во время загрузки страницы). Но это место - посреди другого скрипта. Мой работать будет? | |
|
|
|
|
|
|
|
для: paleshuk
(28.08.2010 в 00:56)
| | >"Допустим я нашёл место в исходнике страницы, где необходимо вставить свой скрипт ("налету" - во время загрузки страницы). Но это место - посреди другого скрипта. Мой работать будет?"
Какая у Вас буйная фантазия, аж завидно!!!
Скрипт якобы "необходим", но надо ещё найти то место, где он необходим! Самому не смешно? :-)
Место найдено, но оно, увы, "посреди другого скрипта". И именно в этом месте "необходимо" вставить скрипт... Что за бред сивой кобылы-то, а?:-)
-----
1. Скрипт выполняется ПОСЛЕДОВАТЕЛЬНО, оператор за оператором, строчка за строчкой.
2. ГАРАНТИРОВАННО до начала загрузки тела документа исполнятся скрипты, прописанные между <head> и </head>. Загрузка и формирование тела документа будут ПРИОСТАНОВЛЕНЫ, пока не исполнятся эти скрипты.
3. Прописанные после тега <body> скрипты будут исполняться ПАРАЛЛЕЛЬНО с продолжением загрузки и формированием документа. | |
|
|
|
|
|
|
|
для: АЯ
(28.08.2010 в 01:50)
| | И что смешного Вы там нашли?
Я нашел функцию в скрипте, который уже присутствует в исходном коде страницы. После выполнения этой функции мой скрипт будет работать без ошибок, потому что классы уже будут изменены(а собственно это мне и надо). При помощи jQuery я вставляю свой код в нужное место, и всё.
Я, конечно, не такой умный, как все остальные на этом форуме, но мне данный пример не кажется смешным и нелогичным.
А за 1-3 - спасибо, теперь буду знать.
По поводу 1 пункта - мне кажется это не совсем справедливо(как раз мой случай). Ведь я могу модифицировать один скрипт другим(то есть вставить в один скрипт другой), и тогда последовательность выполнения исходного скрипта по идее должна прерваться, пока не выполнятся инструкции второго. Хотя не знаю, нигде этому не обучался(3 недели с книгой). | |
|
|
|