Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » вопросы по javascript

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 36 37 38 39 40 41 42 43 44 45 46

Открыть новую тему     Написать ответ в эту тему

VVL99



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В новых версияx то уже ошибка.

Всего записей: 1784 | Зарегистр. 03-02-2011 | Отправлено: 03:08 02-05-2018 | Исправлено: VVL99, 03:12 02-05-2018
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VVL99

Цитата:
В новых версия то уже ошибка.

я не знаю, что вы считаете новыми или старыми версиями. правильно будет если функция будет не определена.
https://stackoverflow.com/questions/14427077/function-declarations-should-not-be-placed-in-blocks-use-a-function-expression
хотите следовать строгому js (хотя бы на этапе разработки) - используйте "use strict";

Цитата:
Strict mode is supported in:
IE from version 10. Firefox from version 4.
Chrome from version 13. Safari from version 5.1.
Opera from version 12.

Всего записей: 6141 | Зарегистр. 20-09-2014 | Отправлено: 03:09 02-05-2018 | Исправлено: Mavrikii, 03:13 02-05-2018
VVL99



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Я имел ввиду хром 42, в нём работает, но строгий режим конечно сразу выдаст предупреждение.
Собственно, если хром и опера теперь одинаково реагируют, тогда вопрос отпадает.

Всего записей: 1784 | Зарегистр. 03-02-2011 | Отправлено: 03:16 02-05-2018
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VVL99

Цитата:
если хром и опера теперь одинаково реагируют

потому что используют один и тот же движок (по крайней мере для рендера страницы, для js может отличаться)

Цитата:
одинаково реагируют

я вам процитировал ошибку, что выдает мой хром 66

Всего записей: 6141 | Зарегистр. 20-09-2014 | Отправлено: 03:19 02-05-2018 | Исправлено: Mavrikii, 03:23 02-05-2018
vs6262



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
кто знает примитивное решение socket PHP JavaScript  
PS: без инсталяции с console
 
спасибо

Всего записей: 1484 | Зарегистр. 25-02-2013 | Отправлено: 03:03 12-05-2018
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vs6262
https://learn.javascript.ru/websockets
https://habr.com/post/209864/

Всего записей: 6141 | Зарегистр. 20-09-2014 | Отправлено: 03:25 12-05-2018 | Исправлено: Mavrikii, 03:26 12-05-2018
vs6262



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а на чистом PHP и JS без Node.js ?

Всего записей: 1484 | Зарегистр. 25-02-2013 | Отправлено: 03:30 12-05-2018
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vs6262
где вы там node.js нашли??
https://www.html5rocks.com/ru/tutorials/websockets/basics/

Всего записей: 6141 | Зарегистр. 20-09-2014 | Отправлено: 03:32 12-05-2018 | Исправлено: Mavrikii, 03:34 12-05-2018
vs6262



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
https://learn.javascript.ru/websockets#пример
node

Всего записей: 1484 | Зарегистр. 25-02-2013 | Отправлено: 03:39 12-05-2018
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vs6262

Цитата:
node

это пример серверной стороны. вместо которого будете использовать php, ссылку тоже дал

Всего записей: 6141 | Зарегистр. 20-09-2014 | Отправлено: 03:43 12-05-2018
vs6262



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Server
Client
не могу собрать рабочее решение

Всего записей: 1484 | Зарегистр. 25-02-2013 | Отправлено: 04:02 12-05-2018
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
не могу собрать рабочее решение  

потому, что не думаем. 2000 порт это уже не http, там нет
Цитата:
f0/serv.php
и так далее.
и php скрипт нужно запустить сначала, чтобы слушал 2000 порт.

Всего записей: 6141 | Зарегистр. 20-09-2014 | Отправлено: 04:09 12-05-2018 | Исправлено: Mavrikii, 04:10 12-05-2018
vs6262



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Client

Код:
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <title></title>
    </head>
    <body>
<script>
var socket = new WebSocket("ws://a-breil.de:2000");
 
socket.onopen = function() {
  alert("Соединение установлено.");
};
 
socket.onclose = function(event) {
  if (event.wasClean) {
    alert('Соединение закрыто чисто');
  } else {
    alert('Обрыв соединения'); // например, "убит" процесс сервера
  }
  alert('Код: ' + event.code + ' причина: ' + event.reason);
};
 
socket.onmessage = function(event) {
  alert("Получены данные " + event.data);
};
 
socket.onerror = function(error) {
  alert("Ошибка " + error.message);
};
 
</script>
 
</body>    
</html>

Server

Код:
<?php
 
$socket = stream_socket_server("localhost:2000", $errno, $errstr);
 
if (!$socket) {
    die("$errstr ($errno)\n");
}
 
while ($connect = stream_socket_accept($socket, -1)) {
    fwrite($connect, "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nConnection: close\r\n\r\nПривет");
    fclose($connect);
}
 
fclose($socket);

не получается

Всего записей: 1484 | Зарегистр. 25-02-2013 | Отправлено: 04:21 12-05-2018
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vs6262

Цитата:
не получается

1) php скрипт запустили заранее?
2) localhost:2000 означает, что сервер слушает только на 127.0.0.1, а значит подключения возможны только с той же машины
3) чтобы убедиться, что серверная часть работает, проверяем что порт слушается (телнетом ли, либо каким вебсервисом - не важно), а потом уже возимся с js

Всего записей: 6141 | Зарегистр. 20-09-2014 | Отправлено: 04:23 12-05-2018
vs6262



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вообщем как я понял на PHP нужно иметь доступ PHP Server Restart
в Java это проще

Всего записей: 1484 | Зарегистр. 25-02-2013 | Отправлено: 04:36 12-05-2018
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vs6262

Цитата:
нужно иметь доступ PHP Server Restart

что? да запустите вы php скрипт из командной строки то.  
просто  
php -f /path/script.php
 

Цитата:
root@host:~/tmp# php -f script.php


Цитата:
root@host:~# telnet localhost 2000
Trying ::1...
Connected to localhost.
Escape character is '^]'.
HTTP/1.1 200 OK
Content-Type: text/html
Connection: close
 
ПриветConnection closed by foreign host.

Всего записей: 6141 | Зарегистр. 20-09-2014 | Отправлено: 04:39 12-05-2018 | Исправлено: Mavrikii, 04:41 12-05-2018
vs6262



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
есть код по  watch() по дежурству изменений переменной и есть у меня watch prototype на всякий случай
как одновременно следить за изменением 2х 3х переменных ?
 
спасибо

Цитата:
 
var o = { p: 1 };
 
o.watch('p', function (id, oldval, newval) {
  alert('o.' + id + ' changed from ' + oldval + ' to ' + newval);
  return newval;
});
 
o.p = 2;
o.p = 3;
delete o.p;
o.p = 4;
 
o.unwatch('p');
o.p = 5;

Всего записей: 1484 | Зарегистр. 25-02-2013 | Отправлено: 17:55 17-05-2018 | Исправлено: vs6262, 17:58 17-05-2018
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vs6262

Цитата:
как одновременно следить за изменением 2х 3х переменных ?

переменные меняются последовательно, одна за раз, как вы собираетесь следить за "одновременным" изменением?
 
o.watch('var1', ....).watch('var2', ....) и так далее. но НЕ одновременно.
 
если метод встроенный, то должен реагировать на каждое изменение, если же имитация прототипом через setTimeout (setInterval), то если исполнение функции попадет между изменениям двух переменных, то тоже не отловите.
 
прототип можно переписать на обработку какого угодно количества переменных, чтобы работал с  
o.watch('var1 var2', ...)
 
но, если честно, это вообще не нужно.

Всего записей: 6141 | Зарегистр. 20-09-2014 | Отправлено: 20:07 17-05-2018 | Исправлено: Mavrikii, 20:19 17-05-2018
VVL99



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Может дело в спецификации

Всего записей: 1784 | Зарегистр. 03-02-2011 | Отправлено: 20:13 17-05-2018 | Исправлено: VVL99, 20:19 17-05-2018
vs6262



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Может дело в спецификации

наверное заброшу я это пока. и попробую свой file upload big files  присобачить по другому через XMLHttpRequest и FileReader оно похоже идёт по принципу непрерывного потока, а к примеру resuming и не обязателен и дополнительное всё паралельно с пом. AJAX во время процесса загрузки. а с resuming-ом лучший вариант был бы наверное PHP ftp серверочек и JS ftp слиент

Всего записей: 1484 | Зарегистр. 25-02-2013 | Отправлено: 23:18 17-05-2018
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 36 37 38 39 40 41 42 43 44 45 46

Компьютерный форум Ru.Board » Интернет » Web-программирование » вопросы по javascript

Имя:
Пароль:
Сообщение

Для вставки имени, кликните на нем.

Опции сообщенияДобавить свою подпись
Подписаться на получение ответов по e-mail
Добавить тему в личные закладки
Разрешить смайлики?
Запретить коды


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2018

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru