Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: ie 8 не видит скрипт

Сообщения:  [1-10]   [11-13] 

 
 автор: elenaki   (24.08.2010 в 21:05)   письмо автору
 
   для: АЯ   (24.08.2010 в 14:58)
 

а вот у нас в туалете (женском) висит НАД унитазом такое объявление (на греческом,
разумеется): "После пользования туалетом, спускайте воду и не бросайте бумагу в
унитаз". объява висит на стене НАД унитазом, т.е. СЗАДИ (туалет-то женский!), стало
быть прочитать ее можно как раз ПОСЛЕ пользования, потому что ДО кто же будет во
всякие объявы вчитываться... итак, читаю "после пользования ...". сверяю я после, да,
после. читаю дальше - "спустите...", спускаю. читаю дальше - "и не бросайте..." какое там
"не бросайте..."? "не бросайте" должно было идти сразу после "пользования", а не после
"спустите...". теперь уже поздно. или объяву надо было вешать на стене ПЕРЕД горшком,
чтоб было время ее прочитать и осмыслить... да, думаю, методы линейного програм-
мирования так просто не забываются. нет, чтоб сначала все прочитать, "скомпилировать",
потом выдать результат, т.е. действие. так нет, исполняем по мере поступления команд.

  Ответить  
 
 автор: АЯ   (24.08.2010 в 15:32)   письмо автору
 
   для: bishake   (24.08.2010 в 15:28)
 

Рот закрой, хамло трамвайное.
"Тыкать" будешь в своём колхозе таким же парашникам, как и сам.

Человек ссылку дал на свою страницу.

  Ответить  
 
 автор: bishake   (24.08.2010 в 15:28)   письмо автору
 
   для: АЯ   (24.08.2010 в 14:58)
 

Слышь, экспресс-сеансер, ты чего так разошёлся-то? С чего Ты вообще взял, что у человека onload объявлен где-то ещё?

  Ответить  
 
 автор: АЯ   (24.08.2010 в 14:58)   письмо автору
 
   для: pautina   (24.08.2010 в 14:11)
 

Нет, определение функций тут совсем "не при делах".
Вы не поняли задачи.
Необходимо, чтобы ПОСЛЕ ОКОНЧАНИЯ ЗАГРУЗКИ ОКНА (именно ПОСЛЕ) браузер выдал три алерта подряд. Как и написано в моём коде.
А он выдаёт всего ОДИН.

Вы же путём определения функций задачу ИЗМЕНИЛИ - алерты у Вас появляются СРАЗУ, ещё ДО окончания загрузки окна (именно ДО).

-----
Поясняю, чтобы Вас не мучить.
Если Вы скажете человеку три фразы:
1. Проснёшься - выгуляй собаку.
2. Проснёшься - умойся.
3. Проснёшься - оденься потеплее.
, то Вы можете быть уверены, что человек, если он не идиот, проснувшись, СНАЧАЛА умоется, ЗАТЕМ оденется и уже ПОТОМ пойдёт гулять с собакой.
Потому как всякий разумный человек ОБЛАДАЕТ собственной логикой и понимает, что СНАЧАЛА надо умыться и одеться, а уж ЗАТЕМ идти на улицу с собакой.

У компьютера НЕТ собственной логики - он делает только то, что ему прикажут.
Я в своём коде компьютеру приказал:
1. onload = function () {alert ('Мама')}  Загрузишь окно - выдай алерт 'мама'
, компьютер, прочитав это, приготовился после окончания загрузки выдать алерт со словом 'мама'.
Но затем компьютер читает СЛЕДУЮЩЕЕ задание:
2. onload = function () {alert ('мыла')} Загрузишь окно - выдай алерт 'мыла'
Раньше приказывали - 'мама', теперь приказали - 'мыла'.
Что делать?
Правильно, как в армии - последний приказ отменяет предыдущие. Потому компьютер про 'маму' забывает и готовится выдать 'мыла'.
Но тут он читает следующее:
3. onload = function () {alert ('раму')}  Загрузишь окно - выдай алерт 'раму'
Компьютер с чистой совестью забывает про 'мыла' (про 'маму' он уже давно забыл) и готовится выдать только 'раму'. Что с успехом и делает, когда происходит событие загрузки окна.

Понятно?
Чтобы компьютер выдал ВСЕ ТРИ алерта, необходимо ему так и написать: Когда загрузишься, то выдай сначала 'маму', затем 'мыла' и в конце - 'раму'. И код для этого будет выглядеть ТАК:
<html>
<head>
<script>
onload = function () {alert ('Мама'); alert ('мыла'); alert ('раму')}
</script>
</head>
<body>
</body>
</html>
Проверьте - и Вы увидите ВСЕ ТРИ алерта.

Ферштейн?
------

В вашем конкретном случае указанный скрипт НЕ РАБОТАЕТ ни в одном из браузеров - ни в ie6, ни в ie7, ни в ie8. Вообще НИГДЕ. То, что якобы где-то работает - это Вам показалось.
Потому как в подключаемых Вами внешних скриптах есть СВОИ функции на одно и то же событие onload. И эти функции, написанные ПОЗЖЕ, чем указанный Вами скрипт, ОТМЕНЯЮТ действие первого.

Можете это проверить САМИ: сделайте одно единственное изменение в коде и посмотрите страницу в ЛЮБОМ из браузеров - и Вы НИГДЕ не увидите алерт со словом 'Работаю!'. Изменение следующее - вставьте этот самый алерт вот сюда:
<script type="text/javascript">  
    onload = function ()  
       {  alert ('Работаю!');
        var iH = document.getElementById('content').offsetHeight;               
        document.getElementById('sideLeft').style.height = iH + 'px';  
        document.getElementById('sideRight').style.height = iH + 'px';     
       }       
 </script>


Прочитайте ВНИМАТЕЛЬНО, обязательно проверьте.
Когда ВЪЕДЕТЕ в написанное - сообщите об этом ЗДЕСЬ.
Тогда и подумаем - как Вам помочь :-)

  Ответить  
 
 автор: pautina   (24.08.2010 в 14:11)   письмо автору
 
   для: АЯ   (24.08.2010 в 10:54)
 

Чтоб это работало нужно определить функцию

<html> 
<head> 
<script>
function myFunction1() { alert ('Мама') }
function myFunction2() { alert ('мыла') }
function myFunction3() { alert ('раму') }
</script>
 
</head> 
<body>
<script language="javascript">
    myFunction1()
    myFunction2()
    myFunction3()
</script> 
</body> 
</html>

Но вот почему наш скрипт расчитывающий высоту не работает в ie8 не могу понять, причём он выдаёт значение высоты и работает в ie7.
Пытаюсь вместе с Вами понять.

  Ответить  
 
 автор: АЯ   (24.08.2010 в 10:54)   письмо автору
 
   для: pautina   (24.08.2010 в 08:38)
 

Запустите в любом из браузеров следующий код
<html>
<head>
<script>
onload = function () {alert ('Мама')}
onload = function () {alert ('мыла')}
onload = function () {alert ('раму')}
</script>
</head>
<body>
</body>
</html>
И попробуйте САМИ объяснить - почему Вы не увидите слов Мама мыла, а увидите только одно слово раму?

PS. Просьба прочим не вмешиваться. Провожу экспресс-сеанс принудительного обучения принципам программирования.

  Ответить  
 
 автор: pautina   (24.08.2010 в 10:14)   письмо автору
 
   для: elenaki   (24.08.2010 в 09:55)
 

Извиняюсь, алерт пробовал для ie 7,8, высота области content 766пкс,
Но для ie 8 этот скрипт не выполняется почему?

  Ответить  
 
 автор: elenaki   (24.08.2010 в 09:55)   письмо автору
 
   для: pautina   (24.08.2010 в 08:38)
 

не аплет, а алерт (alert)
все переменные, которые вы вычисляете, можно вывести алертом на экран и посмотреть, чему они на самом деле равны.

  Ответить  
 
 автор: pautina   (24.08.2010 в 08:38)   письмо автору
 
   для: bishake   (24.08.2010 в 00:24)
 

Как добавить аплет, что сделать?
Вот адрес сайта http://my-page51.narod.ru/
Это скрипт

<script type="text/javascript">  
    onload = function ()  
       {  
        var iH = document.getElementById('content').offsetHeight;               
        document.getElementById('sideLeft').style.height = iH + 'px';  
        document.getElementById('sideRight').style.height = iH + 'px';     
       }       
 </script> 

  Ответить  
 
 автор: bishake   (24.08.2010 в 00:24)   письмо автору
 
   для: pautina   (23.08.2010 в 19:09)
 

Что именно не выполняется? Добавьте алерты, потестите

  Ответить  

Сообщения:  [1-10]   [11-13] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования