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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119

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

Mavrikii

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

Цитата:
чтобы после закачки сравнить общие md5

можете и сами просто считать любые хэши от кусков файлов, комбинировать их в последовательность данных и считать от нее хэш. ну или ссылки выше на код для последовательной генерации md5 хэша

Всего записей: 15605 | Зарегистр. 20-09-2014 | Отправлено: 10:00 01-11-2018
vs6262



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

Цитата:
md5 блочный хэш, так что его можно генерить кусками
https://github.com/satazor/js-spark-md5  

а ведь верно пока файл закачивается пусть на заднем фоне себе считает
 
 
Добавлено:

Цитата:
 последовательной генерации md5 хэша

понял и так же на сервере

Всего записей: 2235 | Зарегистр. 25-02-2013 | Отправлено: 10:11 01-11-2018
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как в браузере поле ввода (textarea) наполнить содержимым из файла, через диалог выбора? Не предлагать набившие оскомину решения типа "загрузка файла на сервер"
 
Спасибо

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3620 | Зарегистр. 08-02-2003 | Отправлено: 11:25 11-11-2018
vs6262



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TeXpert
https://jsfiddle.net/baivong/60py489j/
 
 
Добавлено:
div можно изменить на textarea
 
Добавлено:
или сделать Editable div
 
Добавлено:

Код:
<div onClick="this.contentEditable='true';">
    lorem ipsum dolor lorem ipsum dolorlorem ipsum dolor
</div>

Всего записей: 2235 | Зарегистр. 25-02-2013 | Отправлено: 14:04 11-11-2018
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vs6262, спасибо
Сам нашел решения, расширяющие textarea --- CodeMirror, JQuery Lined TextArea plugin и CodePress, однако, в каждом из них свои глюки. Может, есть и другие эффективные решения? Хотелось бы получить textarea с нумерацией строк, с подсветкой кода еще лучше
 
Спасио

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3620 | Зарегистр. 08-02-2003 | Отправлено: 19:53 11-11-2018
vs6262



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

Цитата:
нумерацией строк,  

не знаю
а вот

Цитата:
с подсветкой кода еще лучше

погуглите JavaScript Code heihgleter  

Всего записей: 2235 | Зарегистр. 25-02-2013 | Отправлено: 20:04 11-11-2018
TeXpert



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

Цитата:
CodeMirror, JQuery Lined TextArea plugin и CodePress
это умеют, но какие-то глюки с ними у меня(

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3620 | Зарегистр. 08-02-2003 | Отправлено: 20:14 11-11-2018
vs6262



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
https://highlightjs.org/static/demo/
 
Добавлено:
https://prismjs.com/plugins/line-numbers/
 
Добавлено:
https://ourcodeworld.com/articles/read/140/top-5-best-code-syntax-highlighter-javascript-plugins
 
Добавлено:
https://enlighterjs.org/

Всего записей: 2235 | Зарегистр. 25-02-2013 | Отправлено: 20:16 11-11-2018
Retro222

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет.
Возможно ли, без сторонних плагинов создать новый ActiveXObject?
На Firefox.

Код:
 
new ActiveXObject("Scripting.FileSystemObject")
new ActiveXObject("WScript.Shell")
 

 
Чтобы нажал на кнопку, вызвалась функция, и создался  новый ActiveXObject.

Всего записей: 260 | Зарегистр. 21-09-2018 | Отправлено: 01:46 12-11-2018 | Исправлено: Retro222, 01:46 12-11-2018
Mavrikii

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

Цитата:
ActiveXObject?

нет. это только для старых IE. другие браузеры никогда ActiveX не поддерживали
https://ru.wikipedia.org/wiki/ActiveX
 
TeXpert
https://prismjs.com/
но если вам нужна подсветка в реальном времени по мере ввода, то это не оно.
вот это оно - https://ace.c9.io/

Всего записей: 15605 | Зарегистр. 20-09-2014 | Отправлено: 01:48 12-11-2018 | Исправлено: Mavrikii, 01:59 12-11-2018
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Цитата:
вот это оно - https://ace.c9.io/
Спасибо большое, действительно, кажется, крутая вещь!

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3620 | Зарегистр. 08-02-2003 | Отправлено: 20:07 12-11-2018
vs6262



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

Цитата:
Спасибо большое, действительно, кажется, крутая вещь!

я тоже смотрел, крутая

Всего записей: 2235 | Зарегистр. 25-02-2013 | Отправлено: 20:14 12-11-2018
Sanatory



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет!
Третьи сутки терзаю гугл запросами, но безрезультатно.
Ребята, объясните слоупоку, как сделать красиво и правильно.
 
Ситуация следующая. Возьмём страницу со следующей разметкой:
 

Код:
<body>
...
<div class="generic-page">  
<div class="artist">
Papa Roach
</div>
</div>
...
</body>

 
 
<div class="generic-page"> получается методом аякс-запроса. Я пишу UserScript и по ходу в разных функциях надо каждый раз получать textContent из обновляемого аяксами <div class="artist">.
 
Я написал простую функцию:

Код:
function getArtistName(){
  var artistName = document.querySelector('.generic-page > .artist');
  if(artistName){
    return artistName.textContent;
  } else {
    return false;  
  }
}

 
И если в нужных местах её вызывать, всё работает без проблем.  
Но!
 
Если сделать так:

Код:
var artistName = function (){
  var artistName = document.querySelector('.generic-page > .artist');
  if(artistName){
    return artistName.textContent;
  } else {
    return false;  
  }
}

и вместо вызова функции вставить переменную, всё работает до обновления контента: то есть, функция НЕ отрабатывается каждый раз, когда вызывается соответствующая переменная, только первый раз.
Что надо сделать, чтобы функция всякий раз возвращала переменной новые значения после обновления div аякс-запросом???
 
Понимаю, что сумбурно изложил, сори =(

Всего записей: 89 | Зарегистр. 21-04-2010 | Отправлено: 23:28 18-11-2018 | Исправлено: Sanatory, 23:30 18-11-2018
Mavrikii

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

Цитата:
и вместо вызова функции вставить переменную,

вставить что и куда?

Всего записей: 15605 | Зарегистр. 20-09-2014 | Отправлено: 23:36 18-11-2018
Sanatory



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

Цитата:
вставить что и куда?  

Mavrikii,  
у меня несколько функций в коде, в которых мне надо узнавать значение textContent из обновляемого аяксами <div class="artist">.  
Например,  

Код:
var searchDiv.innerHTML = '<div class="subhead"><span class="title__label">Поиск по '+artistName+' не дал результатов</span></div>';

или

Код:
var searchDiv.innerHTML = '<div class="subhead"><span class="title__label">Поиск по '+getArtistName()+' не дал результатов</span></div>';

 
В любом случае код сработает верно ПЕРВЫЙ раз. Если контент ообновится и значение внутри <div class="artist">  изменится, правильно будет работать только во втором случае (с функцией getArtistName()). В первом же варианте кода (с переменной artistName) ничего не изменится: artistName будет отдавать СТАРОЕ значение.
 
 
 
 

Всего записей: 89 | Зарегистр. 21-04-2010 | Отправлено: 23:49 18-11-2018 | Исправлено: Sanatory, 23:50 18-11-2018
Mavrikii

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

Цитата:
+artistName+

это все равно функция, хоть и записано как приравнивание переменной. вызывать как artistName()

Всего записей: 15605 | Зарегистр. 20-09-2014 | Отправлено: 23:52 18-11-2018
Sanatory



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

Цитата:
 
это все равно функция, хоть и записано как приравнивание переменной. вызывать как artistName()

 
Хм... Неаккуратненько как-то. И почему переменная не вызывает функцию каждый раз? Чёт я не понимаю.

Всего записей: 89 | Зарегистр. 21-04-2010 | Отправлено: 00:02 19-11-2018
Mavrikii

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

Цитата:
И почему переменная не вызывает функцию каждый раз?

почему она должна ее вызывать? при обращении к ней вы получаете то, чем она равна - функции. console.log(artistName) сделайте и поймете. ну или так - http://jsfiddle.net/jsyra0b4/

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



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

Цитата:
почему она должна ее вызывать? при обращении к ней вы получаете то, чем она равна - функции. console.log(artistName) сделайте и поймете

Да я делал )))
 
Но вот это тоже не работает. Хотя должно.

Код:
var artistName = (function() {
    let currentName = document.querySelector('.generic-page > .artist');  
  if(currentName){
    return currentName;
  } else {
    return false;  
  }
}());

Почему?

Всего записей: 89 | Зарегистр. 21-04-2010 | Отправлено: 00:10 19-11-2018
Mavrikii

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

Цитата:
Почему?

потому что это, как раз, выполняется один раз и результат выполнения присваивается переменной.

Цитата:
}()

производит вызов функции сразу же. self-invoking function - https://blog.mgechev.com/2012/08/29/self-invoking-functions-in-javascript-or-immediately-invoked-function-expression/

Всего записей: 15605 | Зарегистр. 20-09-2014 | Отправлено: 00:11 19-11-2018 | Исправлено: Mavrikii, 00:12 19-11-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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119

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


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru