итак. пишу User Script. поэтому к редактированию сорцов никакого доступа не имееца и происходит манипулирование лишь тем что дает страница. возникла необходимость добавки некоторых действий в существующую уже на странице функцию(и возможно не в одну). там такая фигня - летит флот куда-нибудь и на странице отображается таймер сколько осталось времени ему лететь. таких таймеров может быть много - от 1 до 15 или даже больше. каждый таймер прописан в странице своей собственной отдельной функцией. вот пример такого таймера:
- Код: Выделить всё
<tr class="flight">
<script type="text/javascript">
function tfs1() {
v = new Date();
var bxxfs1 = document.getElementById('bxxfs1');
n = new Date();
ssfs1 = ppfs1;
ssfs1 = ssfs1 - Math.round((n.getTime() - v.getTime()) / 1000.);
mfs1 = 0;
hfs1 = 0;
if (ssfs1 < 0) {
bxxfs1.innerHTML = "-";
} else {
if (ssfs1 > 59) {
mfs1 = Math.floor(ssfs1 / 60);
ssfs1 = ssfs1 - mfs1 * 60;
}
if (mfs1 > 59) {
hfs1 = Math.floor(mfs1 / 60);
mfs1 = mfs1 - hfs1 * 60;
}
if (ssfs1 < 10) {
ssfs1 = "0" + ssfs1;
}
if (mfs1 < 10) {
mfs1 = "0" + mfs1;
}
bxxfs1.innerHTML = hfs1 + ":" + mfs1 + ":" + ssfs1;
}
ppfs1 = ppfs1 - 1;
window.setTimeout("tfs1();", 999);
}
</script>
<th>
<div id="bxxfs1" class="z">-</div>
<font color="lime">12:59:41</font>
</th>
другие таймеры если они есть будут выглядеть точно так же с той лишь разницей что имя ф-ции будет отличаться цифрой (tfs2(),tfs3(),tfs4() и т.д.) и так же будут отличаться дивы куда оно пишет время(bxxfs2,bxxfs3,bxxfs4 и т.д.).
у меня есть необходимость совершить вывод определенной инфы в тот момент когда каждый таймер дойдет до нуля и покажет в диве "-".
сам вопрос мой состоит в следующем. существует ли способ обхода циклом всех джаваскрипт-функций в документе (типакаг перебор коллекции document.functions или что-то в таком роде)? я представляю себе это так: цикл обходит все ф-ции и если в имени ф-ции находит определенный сабстринг(в данном случае это будет if(funcname.indexOf('tfs')) != -1) то происходит оверрайт данной ф-ции а если нет то продолжает просто перебор.
атаки на некоторых юзеров этого форума посрецтвом аськи дали лишь частичный результат(за что естественно большой им респект) но это касалось оверрайтинга. так что мислости просим камрады! не стесняемя высказываем свои соображения. флуд в виде сисег тоже приветствуеца но желательно что-то и по делу.