местный
С нами с 10.08.03
Сообщения: 1578
Рейтинг: 2362
|
Добавлено: 01/02/05 в 12:02 |
Есть скрипт который просматривает текст на страницы и делает замены фетовских ссылок на "чистые" и подставляет их в статус при онмаусовер/аут ...
Вот сам скрипт:
Код: | var verStr=navigator.appVersion, app=navigator.appName, version = parseFloat(verStr);
if (app.indexOf('Microsoft') != -1) {
if (version >= 4.0) {
for (i = 0; i < document.all.length; i++)
if (document.all[i].tagName.toLowerCase() == 'a')
if (document.all[i].href.indexOf('url=') != -1) {
document.all[i].onmouseover = z;
document.all[i].onfocus = z;
document.all[i].onmouseout = o;
}}} |
Проблема в том, что этот скрипт считывает снизе-вверх. Т.е. Ставится он в самый низ, и пока он не загрузится на странице будут видны не те ссылки что надо. Так вот, как бы его переделать чтобы можно было поставить вверх и чтобы он сразу при загрузке страницы начал менять то что мне надо.
Заранее спасибо
|
|
|
|
С нами с 22.07.04
Сообщения: 361
Рейтинг: 308
|
Добавлено: 01/02/05 в 13:00 |
Хм... менять имхо ничего не надо, просто дело в том, что пока документ до конца не догрузился, ещё может и не все ссылки скачались и расставились. А что, если в начало поставить - не работает? Ну тогда можно вынести его в отдельную функцию типа replaceLinks(), и эту функцию по таймеру вызывать каждые 1-2 секунды. Это кажись было setInterval("replaceLinks()", 1000);
Подробнее ТУТ.
|
|
|
|
местный
С нами с 10.08.03
Сообщения: 1578
Рейтинг: 2362
|
Добавлено: 01/02/05 в 13:43 |
вверху не работает Твой вариант хорош, буду тестить, но не будет ли накладно что эта функция будет вызываться каждые 2 сек, даже после того как страница загрузилась ??? Может тогда в конец поставить какой-нить "ресет каунтер" ?
В любом случае жду еще предложений. Пост оценил
|
|
|
|
С нами с 26.09.03
Сообщения: 856
Рейтинг: 783
|
Добавлено: 01/02/05 в 14:49 |
Не майся дурью, вверху, в хеде, ставишь генератор статусов как функцию, скажем st, а в теле делаешь линк вида "onmouseover=st() onfocus=st()" и т.д.
Если уже совсем будет клиника - на сиджах посмотри в качестве примера, на каждом пятом такая фича юзается.
|
|
|
|
С нами с 22.07.04
Сообщения: 361
Рейтинг: 308
|
Добавлено: 01/02/05 в 18:37 |
Кстати мысль стоит того, чтобы её подумать. Только не статусы закрывай (это подозрительно ), а по onmouseover меняй линку на нужную. Типа
Код: |
<a href="oldlink.com" onmouseover="javascript: this.href=newLink(this.href);">
|
Где newLink() принимает на вход старый линк, а возвращает новый. Только надо чтоб из уже переделанного линка больше ничего не переделывалось. Можно даже по onmouseout аналогичной функцией линку на старую опять менять или ещё чего
Вобщем решения как-бы есть, но выбрать наиболее оптимальное предстоит тебе
|
|
|
|
www.vovasik.com
С нами с 13.08.01
Сообщения: 1016
Рейтинг: 388
|
Добавлено: 01/02/05 в 18:45 |
хех, знакомый скриптик
ну да ладно
я не жадный
если хочется использовать его в таком виде, то придется втыкаеть его после каждой таблицы со ссылками
IE работает так, что показывает таблицу тока после того, как она полностью загрузилась, а тут сразу скриптик ее и обрабатывает
|
|
|
|
местный
С нами с 10.08.03
Сообщения: 1578
Рейтинг: 2362
|
Добавлено: 01/02/05 в 21:46 |
Vovasik писал: | хех, знакомый скриптик
ну да ладно
я не жадный
если хочется использовать его в таком виде, то придется втыкаеть его после каждой таблицы со ссылками
IE работает так, что показывает таблицу тока после того, как она полностью загрузилась, а тут сразу скриптик ее и обрабатывает |
Спасибо за скрипт Sigurd тебя вспомнил когда показывал его.
А ты можешь сказать как правильнее сделать, чтобы лишнего кода не было и работало быстро!
Остальным, если бы хотел вставлять в каждую сылку онмаусовер/аут/фокус не создавал бы таких тем
|
|
|
|
www.vovasik.com
С нами с 13.08.01
Сообщения: 1016
Рейтинг: 388
|
Добавлено: 01/02/05 в 21:54 |
при такой вставке в head
<script language="JavaScript">
function o() {window.status='';return true;}
function z() {
var s = this.href;
var begin = s.indexOf('url=');
window.status=s.substring(begin + 4,200);return true;
}
function x(s) {
window.status=s;return true;
}
</script>
скрипт вырезает все из урл, начиная с символов url= и до конца строки,
т.е. нужно все ссылки задавать в виде out.php?link=link&p=20&...&url=URL
|
|
|
|
местный
С нами с 10.08.03
Сообщения: 1578
Рейтинг: 2362
|
Добавлено: 01/02/05 в 23:05 |
Vovasik писал: | при такой вставке в head
<script language="JavaScript">
function o() {window.status='';return true;}
function z() {
var s = this.href;
var begin = s.indexOf('url=');
window.status=s.substring(begin + 4,200);return true;
}
function x(s) {
window.status=s;return true;
}
</script>
скрипт вырезает все из урл, начиная с символов url= и до конца строки,
т.е. нужно все ссылки задавать в виде out.php?link=link&p=20&...&url=URL |
да у меня так и стоит сейчас. Проблема не в этом. При таком коде (то что я написал в первом посте стоит в низу) ссылки заменяются только тогда как загрузится вся страница, вот я и прошу помочь как-то сделать чтобы не надо было ждать загрузки всей страницы чтобы начиналась замена
|
|
|
|