15 / 13 / 3
Регистрация: 20.02.2018
Сообщений: 446

Исполнение функций JS в html документе

07.02.2019, 16:45. Показов 13366. Ответов 16

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Помогите пожалуйста корректно решить следующею задачу:
  1. Создайте простой HTML-документ.
  2. Добавьте два абзаца с произвольным текстом.
  3. Организуйте между двумя абзацами вывод приветственного
    сообщения в диалоговом окне, задав необходимые команды внутри
    тэга <script>.
  4. Добавьте команду вывода аналогичного приветственного сообщения
    в окно браузера после закрытия диалогового окна.
Вот как я пытаюсь это сделать, но не получается:

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<DOCTYPE HTML>
<HTML>
    <HEAD>
        <TITLE>Главная¤ страница</TITLE>
        
        <script language="JavaScript">
        function message_ (){
        alert("Welcome on my page");
        }
        </script>
        
        <script language="JavaScript">
        function message_2 (){
        writeln("Welcome on my page");
        }
        </script>   
    </HEAD>
    
    <BODY onUnload="JavaScript: message_ ()">
    <p align=center> Абзац 1-ый </p>
    <script language="JavaScript">
    message_2 ();
    </script>   
    <p align=center> Абзац 2-oй </p>  
    </BODY>
    
</HTML>
Скажите, почему не работают функции?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.02.2019, 16:45
Ответы с готовыми решениями:

Как вывести html в документе
Приветствую, Суть такая, мой DLE генерирует код, вот он: &lt;div id=&quot;something&quot;&gt;Строка текста.&lt;br /&gt;Еще строка...

Фантомный код появился в HTML документе
Всем доброго времени суток! Я не совсем уверен что я пишу по теме, но попробую, если что то перенаправьте. Проблема такая: в колледже...

Как совмещать XML с HTML в одном документе?
Вообще, как использовать XML? Когда я пишу стандартный для новичка кусок хмл кода и созраняю его с расширением .xml, вид выводимы в...

16
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
07.02.2019, 16:53
Volodya_, весь скрипт поместите между параграфами. И writeln это метод объекта document - https://developer.mozilla.org/... nt/writeln
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE html>
<html lang="ru">
 
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <p>Параграф 1</p>
     <script>
        alert("Welcome on my page");
        document.writeln("Welcome on my page");
    </script>
    <p>Параграф 2</p>
</body>
</html>
1
15 / 13 / 3
Регистрация: 20.02.2018
Сообщений: 446
07.02.2019, 17:04  [ТС]
Цитата Сообщение от Qwerty_Wasd Посмотреть сообщение
весь скрипт поместите между параграфами.
Почему нельзя с помощью функций описанных в блоке <HEAD>?

У меня почему-то вместо текста ромбики с вопросами "��������"
0
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
07.02.2019, 17:15
Volodya_, файл в UTF-8 сохраните.
Цитата Сообщение от Volodya_ Посмотреть сообщение
Почему нельзя с помощью функций описанных в блоке <HEAD>?
Можете, почему нет?
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script>
      function hello() {
        alert("Welcome on my page");
        document.writeln("Welcome on my page");
      }
    </script>
</head>
<body>
    <p>Параграф 1</p>
     <script>
        hello();
    </script>
    <p>Параграф 2</p>
</body>
</html>
Миниатюры
Исполнение функций JS в html документе  
1
15 / 13 / 3
Регистрация: 20.02.2018
Сообщений: 446
07.02.2019, 17:28  [ТС]
Цитата Сообщение от Qwerty_Wasd Посмотреть сообщение
Можете, почему нет?
Вот пытаюсь вызвать функцию при закрытии страницы, чтобы сообщение в диалоговое окно выводилось при закрытии. Не срабатывает. Всё остальное начало работать

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<!DOCTYPE HTML>
<html lang="ru">
<HTML>
    <HEAD>
        <meta charset="UTF-8">
        <TITLE>Главная страница</TITLE>
        
        <script language="JavaScript">
        function message_ (){
        alert("Welcome on my page");
        }
        </script>
        
        <script language="JavaScript">
        function message_2 (){
        document.writeln("Welcome on my page");
        }
        </script>   
    </HEAD>
    
    <BODY onUnload="JavaScript:message_ ()">
    <p align=center> Абзац 1-ый </p>
    <script language="JavaScript">
    message_2 ();
    </script>   
    <p align=center> Абзац 2-oй </p>    
    </BODY>
    
</HTML>
0
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
07.02.2019, 17:58
Лучший ответ Сообщение было отмечено Volodya_ как решение

Решение

Volodya_, постарайтесь не назначать обработчик события таким варварским способом (в атрибуте).
Для этого у объектов есть метод addEventListener - https://developer.mozilla.org/... ntListener
Тем более Вы его неправильно написали - onunload и не тому элементу - https://developer.mozilla.org/... s/onunload.
А еще это плохая идея, многие браузеры блокируют всплывающие окна при этом событии не просто так.
Вам бы понравилось, если бы Вы зашли на страницу и Вам было бы не выйти с неё обычным путем, потому что какой-то .... недалекий человек, повесил обработчик unload на окно c последующим диалогом с юзверем?

Когда Вы прочитаете материал по ссылке, что я Вам предоставил, Вы поймете почему результат Вы не увидите.
1
Эксперт JS
6497 / 3908 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
07.02.2019, 19:53
Лучший ответ Сообщение было отмечено Volodya_ как решение

Решение

Всем здравствуйте!
Цитата Сообщение от Volodya_ Посмотреть сообщение
1. Создайте простой HTML-документ.
2. Добавьте два абзаца с произвольным текстом.
3. Организуйте между двумя абзацами вывод приветственного
сообщения в диалоговом окне, задав необходимые команды внутри
тэга <script>.
4. Добавьте команду вывода аналогичного приветственного сообщения
в окно браузера после закрытия диалогового окна.
Стою на асфальте я в лыжи обутый...
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <style>
        form {
            width: 200px;
            border: 1px solid red;
            padding: 5px;
            text-align: center;
        }
        form label {
            display: inline-block;
            margin-bottom: 5px;
        }
        form input {
            width: 100px;
        }
    </style>
</head>
<body>
    <p> Абзац 1-ый </p>
    <p> Абзац 2-oй </p>
    <script>
        document.getElementsByTagName("p")[0]
            .insertAdjacentHTML("afterend", "<form><label>Welcome on my page</label><input type='button' value='OK'></form>");
        var form = document.forms[0];
        form.lastElementChild.onclick = message_2;
 
        function message_2() {
            document.body.replaceChild(document.createTextNode("Welcome on my page"), form);
        }
    </script>
</body>
</html>
1
15 / 13 / 3
Регистрация: 20.02.2018
Сообщений: 446
07.02.2019, 21:09  [ТС]
Цитата Сообщение от amr-now Посмотреть сообщение
Стою на асфальте я в лыжи обутый...
Сложновато для 1-ой лабы по JS )

Добавлено через 4 минуты
Цитата Сообщение от amr-now Посмотреть сообщение
Стою на асфальте я в лыжи обутый...
Почему не работает, если прописать вот так?
JavaScript
1
document.forms[0].lastElementChild.onclick = message_2;
0
Эксперт JS
6497 / 3908 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
07.02.2019, 21:09
Volodya_, ладно. Зайдем с другой стороны.
Организуйте между двумя абзацами вывод приветственного
сообщения в диалоговом окне
Как себе преподаватель представляет вывести между двумя абзацами диалоговое окно?

alert, скотина, выскакивает отдельно, а не между ними )))))))
0
15 / 13 / 3
Регистрация: 20.02.2018
Сообщений: 446
07.02.2019, 21:12  [ТС]
Цитата Сообщение от Qwerty_Wasd Посмотреть сообщение
Для этого у объектов есть метод addEventListener
В данном случае у объекта document?

Добавлено через 2 минуты
Цитата Сообщение от amr-now Посмотреть сообщение
Как себе преподаватель представляет вывести между двумя абзацами диалоговое окно?
Да с этим уже ладно, главное что они выводятся. Между абзацами вывожу строку, а не окно ))
0
Эксперт JS
6497 / 3908 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
07.02.2019, 21:48
Volodya_, допустим:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <p> Абзац 1-ый </p>
    <script>
            window.addEventListener("load", message_);
    
            function message_() {
                alert("Welcome on my page");
                message_2();
            }
            function message_2() {
                document.body.appendChild(document.createTextNode("Welcome on my page"));
            }
        </script>
    <p> Абзац 2-oй </p>
</body>
</html>
В Опере диалоговое окно выводится ДО появления страницы, кода двух абзацев нет
В MS Edge два абзаца видны, но диалоговое окно расположено не между абзацами.

Или между абзацами только <script> ? А на время вывода и расположение диалогового окна наплевать? Тогда решено.
0
15 / 13 / 3
Регистрация: 20.02.2018
Сообщений: 446
07.02.2019, 21:53  [ТС]
Цитата Сообщение от amr-now Посмотреть сообщение
В Опере диалоговое окно выводится ДО появления страницы, кода двух абзацев нет
У меня в Ghrome - да
Цитата Сообщение от amr-now Посмотреть сообщение
А на время вывода и расположение диалогового окна наплевать?
Уже наплевать.

Вот только теперь между абзацами сообщение уже не выводится теперь
0
Эксперт JS
6497 / 3908 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
07.02.2019, 21:55
Volodya_, а в задаче не написано, что новое сообщение должно вставиться между абзацами. Внимательно перечитайте.
0
15 / 13 / 3
Регистрация: 20.02.2018
Сообщений: 446
07.02.2019, 21:58  [ТС]
Цитата Сообщение от amr-now Посмотреть сообщение
а в задаче не написано, что новое сообщение должно вставиться между абзацами. Внимательно перечитайте.
в общем я остановился на самом 1-ом вашем варианте, только чуть его скорректировал

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="utf-8" />
    <script language="JavaScript">
        function message_2 (){
        alert("Welcome on my page");
        }
        </script>
</head>
<body>
    <p> Абзац 1-ый </p>
    <p> Абзац 2-oй </p>
    <script>
        document.getElementsByTagName("p")[0]
            .insertAdjacentHTML("afterend", "<form><label>Welcome on my page</label><input type='button' value='OK'></form>");
       var form = document.forms[0];
       form.addEventListener("click", message_2);
     </script>
</body>
</html>
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
08.02.2019, 02:59
Volodya_, вообще-то alert () -- это как бы не совсем "диалоговое" окно: это как между генералом и ефрейтором, на любое утверждение первого ефрейтор может ответить только лишь "так точно, товарищ генерал!"

диалоговым является окно confirm (), браузер в нём чего-то юзера спрашивает, и тот может выбрать один из двух ответов
0
Эксперт JS
6497 / 3908 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
08.02.2019, 07:52
kalabuni, определение диалогового окна идет ещё с древнейших языков программирования
(даже выводящих на экран псевдографику 80-х годов).
alert() вполне подходит под категорию простейшего диалогового окна, типа MessageBox с одной кнопкой.
Именно с этим всё в порядке.
1
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
08.02.2019, 13:55
amr-now, точно, спасибо

ещё одно соображение: "окно между абзацами" - мейби , имелось в виду, что первый абзац прописан чистым HTML-кодом
по загрузке окна с этим первым абзацем всплывает alert (), по нажатию на "ОК" которого второй абзац прописывается скриптом (с помощью document.write ())
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.02.2019, 13:55
Помогаю со студенческими работами здесь

Сохранить изменения в HTML документе.(Подробнее в описании)
Приветствую. Хожу вокруг да около, не могу понять одну вещь. Есть кусок кода, добавляющий html-элемент в код, допустим: ...

Независимое исполнение функций
Доброго времени суток, у меня есть консольная программа, &quot;@&quot; - которая бегает и стреляет. Но пока движется пуля я не могу её перемещать,...

Исполнение функций удаленно
можно ли сделать так - на 10 серверах лежит скрипт , в нем приемник и исполнитель а главный сервер посылает им определенный сценарий для...

Реализовать функцию проверки правильности html-тэгов в html-документе
нужно реализовать функцию на с++.Долго сидел,понять не могу.

Отключить исполнение скриптов (html)
Отключить исполнение скриптов (html) Такая проблема. Мне необходимо запретить браузеру пользователя исполнять скрипты на странице (в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru