Войти или зарегистрироваться
Выберите удобный способ — аккаунт создастся автоматически.
Или войдите по логину и паролю
 |
|

05.03.2009, 00:33
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
С нами:
9840758
Репутация:
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
|
|
Постоянный
Регистрация: 25.03.2008
Сообщений: 670
С нами:
9541766
Репутация:
2407
|
|
Хорошее пояснение, всё логично. Лиса правда не выдавала ошибок при document.body.onload, поэтому сложно было определить, в чём дело, а new спасло 
addEventListener действительно хороший вариант, не подумал про него.
|
|
|

05.03.2009, 02:00
|
|
Постоянный
Регистрация: 19.03.2007
Сообщений: 684
С нами:
10077446
Репутация:
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
С нами:
9840758
Репутация:
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
С нами:
9200358
Репутация:
49
|
|
Спасибо, но не один не работет(
Картинка получается прост сверху, а внизу, хоть и криво идёт сайт как и был...
|
|
|

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

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

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

06.03.2009, 13:50
|
|
Постоянный
Регистрация: 19.03.2007
Сообщений: 684
С нами:
10077446
Репутация:
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
С нами:
9545988
Репутация:
63
|
|
ЯВА скриптом ссылайся на какую нибудь страницу  , только пробла если JS отключён %)
|
|
|
|
 |
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|