Сергей delphinpro, так, апдейт - это работает только в IE :) Не знал. А примерчик вот: bourabai.kz/alg/vbs-html.htm
UPD: хм, оно даже в IE8 глючит. Нажатие на кнопку не работает, угловые скобки элемента <script> с VBScript скриптом заменены на безопасные последовательности. Походу, можно использовать в документе либо только JS, либо только VBS, но не вместе. На отдельной странице - пример работает.
Максим Тимофеев, это хорошо если день. Я вот фреймворки пока толком не освоил, пилю всё ручками. Там если делать на совесть, можно и 3-4 дня просидеть. Собственно потому и считаю, что фриланс не особо рентабелен... Чёрт возьми, я за трёхчасовое занятие индивидуальное получаю 15-20 долларов (смотря как, в центре веду или на дому у себя), это даже не полный день работы. А тут за 50 долларов столько геморроя выходит.
P.S. Я собственно к тому и вёл - было бы здорово, если бы за слайдер платили столько. Но увы) С другой стороны - если писать такое самому, то оно пишется один раз в жизни, и потом уже подключается в пару строк в любой проект, там уже вообще затрат ноль. Но мы же про реализацию говорили. И кстати да, если слайдер - крутой, с поддержкой touch events и полной кроссбраузерностью, то это стоит куда дороже 20 долларов. Но проблема в том, что опять же, заказчик столько платить не готов за такую "мелочь".
А я вот тоже не понял первую форму записи, что там происходит вообще? Мы полю объекта присвоили функцию? Тогда почему запись такая, как будто функция - член массива
WebDev, да ES6 вообще не особо нужен. Новичку точно. Да и не новичку... Как минимум поддержки старых браузеров лишаемся, либо нужно использовать транспайлер.
Я бы сказал, вот этот вот всё наоборот его испортило. Как минимум, чрезмерно усложнив для понимания. Не то чтобы я против этих механизмов, где-то они могут быть полезны, где-то им вообще нет вменяемой альтернативы... Но в любом случае, когда доходит до них - начинается трэш и угар. Хуже только реактивное программирование (вот уж точно где с Lisp парадигма слизана с его списками) :)
Сергей delphinpro, ещё браузер понимает Visual Basic (неспроста же атрибуты language и type существуют!). Только вот популярность околонулевая у него... Да и я бы не сказал, что такая альтернатива - лучше.
Владислав Лысков, я бы поспорил. На JS неплохо пишутся игры, да и вообще любые интерфейсы. Хотя конечно много зависит от задач. Асинхронный подход JS не везде может быть удобен.
makarychev13, "Ещё многие не любят динамическую типизацию. Это зачастую приводит к отстрелу ног" - никто не мешает писать на языке с динамической типизацией так, как будто это язык со статической типизацией. Я сейчас про отсутствие смены типа на лету, если что, возможность простой верификации типов аргументов функций у нас конечно при этом не будет, и возможность сделать две функции с сигнатурами, отличающиеся только типами формальных параметров - тоже, но имхо это и к лучшему, быстрее пишется код.
"То, что называется массивом в js, есть обычный объект с полями 0,1,2 и пр" - но синтаксис доступа при этом как у массива, тем не менее. К тому же, как по мне - наличие плоского массива, многомерного массива, и массива массивов, если я верно вас понял - это какой-то переизбыток сущностей. Тем более, как я понимаю, в языке со строгой типизацией будет очень непросто либо практически невозможно поменять глубину вложенности массива в рантайме (то есть в массив одномерных массивов вложить двумерный массив в качестве одного из элементов, или даже заменить все элементы на двумерные массивы). И да, массив со значениями разных типов, хоть и выглядит как грязный хак, в 3-5% случаев может таки пригодиться. В языке со строгой типизацией это в принципе невозможно :)
Извините, а при чём тут Dropbox? Они же не предлагают решения для создания частного облака. Там либо WebDAV, либо их собственный протокол. Есть обычный каталог, и есть клиент, который синхронизирует его с облаком. Но если Вы сейчас писали про каталог, то почему доступ по IP и всё ("192.168.88.110")? Это ведь папка. Или вы предлагаете какой-то хитрый вариант её подключения как сетевого диска?
Фиксировать изменения - в смысле сам факт того, что файл поменялся? Я таких решений не знаю, к сожалению. Но теоретически можно закодить свой сервис (серверная часть тривиальная). Если конечно вы умеете в интеграцию с Windows Explorer и File Watch для создания клиентской части.
Вадим, но всё это не работает в том же Chrome 45 (только что тестил в консоли разработчика). Вероятно, не будет работать и в Android Browser не самых свежих версий, и в Mozilla до версии 56-57 (вероятно), и в старых Операх до версии 13, и в старых IE (вообще в любых IE, скорее всего). Тогда смысл в таком механизме? :)
Можно сказать, что если возвращает undefined, то это десктоп (исходя из того, что я выше понаписал). Но есть Opera Mini/Mobile, есть браузеры на базе Symbian OS, есть Windows Mobile и Windows Phone со своими собственными версиями IE, есть Android 2.3 и 4.0 (Android Browser + Firefox до какой-то там версии, который ставится даже на Android 2.3, но вряд ли эту вещь поддерживает), Blackberry OS... И они все ходят через мобильный инет.
"Если есть возможность выполнить http-запрос на клиентском устройстве" - если речь про сайт (а судя по вопросу, речь про него), то такой возможности не будет - политика безопасности браузера не даст сделать запрос на левый домен, если там нужные Allow-Origin заголовки не стоят. Такая тема обходится через расширение для браузера, подменяющее заголовки, но ведь не у всякого такое расширение стоит, да и надо просить тогда каждого добавлять в это расширение сайт своего провайдера, чтобы такая схема заработала.
Дмитрий Александров, большое спасибо. Я на самом деле ставил немного другую задачу: не интегрировать JS код в Java проект, а попробовать сделать свой браузерный движок. Но в любом случае, всё это крайне увлекательно, буду изучать.
Максим Тимофеев, что, серьёзно за простой слайдер платят 20 долларов, или вы так, абстрактно? Вроде много как-то. Я в основном вижу проекты, где за целый сайт (лендинг к примеру) платят долларов 40-50, а там работы куда как больше.
Так в том-то и дело, что проблема совсем не в Gecko. Я проверил, как это работает в Chrome 49. Всё полностью аналогично. let и const переменные не попадают в свойства window, в отличие от var переменных. Мне интересно, почему сделано именно так, и чем плох прежний подход.
Владислав, так при чём тут система, если это глаз человека в ходе эволюции так сложился. Вы про то, что можно создать другую систему, и делать "чистый" фиолетовый, не смешивая красный с синим?
bourabai.kz/alg/vbs-html.htm
UPD: хм, оно даже в IE8 глючит. Нажатие на кнопку не работает, угловые скобки элемента <script> с VBScript скриптом заменены на безопасные последовательности. Походу, можно использовать в документе либо только JS, либо только VBS, но не вместе. На отдельной странице - пример работает.