ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

05.03.2009, 00:33
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме: 3069349
Репутация:
808
|
|
Сообщение от d_x
Потому что фаерфокс без new не понимает, хотя в ИЕ работает.
Смысл ключевого слова new, грубо говоря, - проверить, что там находится справа (а в данном случае - функция), является ли это что-то конструктором (является) и запустить на исполнение.
Как результат, происходит следующее:
1. JS-Движок доходит до выражения new function() { ... }
2. Функция запускается, содержимое страницы перезаписывается.
3. Функция возвращает объект, который записывается в document.body.onload. Но потом он не используется, т.к. не является вызываемым (callable)
А в лисе не работало не из-за new, а из-за document.body.onload. Было бы там window.onload, onload, или как-нибудь более привычно - addEventListener - работало бы 
|
|
|

05.03.2009, 00:39
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме: 4137635
Репутация:
2407
|
|
Хорошее пояснение, всё логично. Лиса правда не выдавала ошибок при document.body.onload, поэтому сложно было определить, в чём дело, а new спасло 
addEventListener действительно хороший вариант, не подумал про него.
|
|
|

05.03.2009, 02:00
|
|
Постоянный
Регистрация: 19.03.2007
Сообщений: 684
Провел на форуме: 3152874
Репутация:
1020
|
|
применения конструктора function это конечно хорошо и удобно, но в данном примере можно было обойтись и более лаконично:
<script language='JavaScript'>
document.body.onload= document.body.innerHTML="<img src='lost_dharma.gif'/>";
</script>
|
|
|

05.03.2009, 18:27
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме: 3069349
Репутация:
808
|
|
Сообщение от AkyHa_MaTaTa
применения конструктора function это конечно хорошо и удобно, но в данном примере можно было обойтись и более лаконично:
<script language='JavaScript'>
document.body.onload= document.body.innerHTML="<img src='lost_dharma.gif'/>";
</script>
Только вот в этом ещё меньше логики, не находишь?
|
|
|

06.03.2009, 11:38
|
|
Постоянный
Регистрация: 17.11.2008
Сообщений: 538
Провел на форуме: 1231364
Репутация:
49
|
|
Спасибо, но не один не работет(
Картинка получается прост сверху, а внизу, хоть и криво идёт сайт как и был...
|
|
|

06.03.2009, 11:55
|
|
Познавший АНТИЧАТ
Регистрация: 13.04.2006
Сообщений: 1,738
Провел на форуме: 5151669
Репутация:
1198
|
|
в самое начало - stop(); XD всё гениальное - просто)
а тебе яваскрипт нужен?) хаха а что мешает открытьт сорцы по ходу удалить скрипт и применить?) т.е. защита никакая) так что в пхп мути.
Последний раз редактировалось Sn@k3; 06.03.2009 в 11:58..
|
|
|

06.03.2009, 12:08
|
|
Постоянный
Регистрация: 17.11.2008
Сообщений: 538
Провел на форуме: 1231364
Репутация:
49
|
|
желательно яваскрипт, ибо пхп не поддерживает хостер..
предоставленные вами скрипты вставлял на ряду с остальными в сайте... и в самом верху 
|
|
|

06.03.2009, 12:11
|
|
Постоянный
Регистрация: 17.11.2008
Сообщений: 538
Провел на форуме: 1231364
Репутация:
49
|
|
stop();
перед <html.....
тож не помогло
|
|
|

06.03.2009, 13:50
|
|
Постоянный
Регистрация: 19.03.2007
Сообщений: 684
Провел на форуме: 3152874
Репутация:
1020
|
|
Сообщение от astrologer
Только вот в этом ещё меньше логики, не находишь?
Если не сложно, то обоснуй чем применения new function более логично, чем просто код состоящий из 1 операции? Я не вижу преимуществ применения конструктора function в данном случаи. Я понимаю если нам нужно было выполнить более одной операции, то тогда естествено заключить код в конструктор function было бы самым логичным решением.
Если пошло на самое лаконичное решения то можно зделать как и написал ntldr
document.body.innerHTML = "<img src='картинка.gif'>"; - и добавить этот код в конце тега <body>
Последний раз редактировалось AkyHa_MaTaTa; 06.03.2009 в 14:23..
|
|
|

06.03.2009, 14:01
|
|
Постоянный
Регистрация: 22.03.2008
Сообщений: 325
Провел на форуме: 1208132
Репутация:
63
|
|
ЯВА скриптом ссылайся на какую нибудь страницу  , только пробла если JS отключён %)
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|