Проще всего видимо этот скрипт генерации запустить и забрать результат работы, но чтоб он отработал вне браузера, нужно сделать надувной window и методы браузера, что он юзает, типа setCookies.
Чтобы из питона поюзать js - напрмер вот https://pypi.org/project/Js2Py/, юзай eval_js().
Но там могут еще подводные камни всплыть, помимо проработки запуска этого js-а, раз такой вопрос задаешь, видимо тебе проще будет на базе Selenium что-то накидать.
ну йопт! Вот придешь на собеседование:
- какую самую сложную таску приходилось решать в последнее время?
А ты им такой:
- да вот два раза по нажатию на кнопку листенер отрабатывал.
- И как решил?
- Хз, само как-то решилось
ioriSempai, выложи код в песочницу (например https://jsfiddle.net/), так не понятно где именно проблема. Навыков вангования прям до такой точности не хватает
Часовой пояс учитывается отдельно - в формате даты это отлично проработано, проблема замечена именно в отставании системного времени у одного юзера на ~30сек
Stalker_RED, два юзера нажимают редактировать один и тот же ресурс примерно одновременно. Один сабмитит форму, в базу записывается новый updated_at. Когда второй сабмитит форму, сервер сравнивает что updated_at позже чем изначальный retrieved_at данных формы и выдает ему ошибку, что кто-то другой уже поменял.
Чтобы не перетирать предыдущие изменения
Василий Банников, есть один достаточно популярный фреймворк и в нем функция трафик-копа реализована на основе проверки даты из браузера.
Первая реакция, что это не правильная реализация, но почему они так сделали не понятно. У них в issues за 3 года 10 раз всплывала эта проблема, что лучше использовать время сервера, но они тупо рекомендуют отключить трафик-копа и всё.
Хотя они выпускают апдейты каждые 2-3 недели и много чего фиксят.
Самому туда лезть потенциально надолго и можно наткнуться на то, что они не фиксят не просто так и самому не сделать нормально тоже.
Канвас еще проще чем DOM для этой задачи, ты сам разберешься если попробуешь.
Но тут лучше на webgl делать в 3д. Three.js может быть.
Еще было бы круто добавить анимацию построения пирамиды, чтоб блоки появлялись с фундамента к верху
Потом можно будет прикрутить физический движок, чтоб можно было выбивать блоки и пирамида феерически разваливалась
Aetae, да что-то и так тоже не кэшируется, смотрю в devtools в network, в столбце size - там пишется какие файлы из memory загрузились, какие нет.
Что можно сделать не понятно, версия сборщика какая-то странная выходит, сами js файлы скачиваются, но по загрузке ошибка в консоли
Uncaught (in promise) Error: Loading chunk 0 failed at HTMLScriptElement.onScriptComplete
Ну вроде всё равно должно кэшироваться - содержимое скачанного js файла на превью в network соответствует действительному
Aetae, хмм, походу нужно сконфигрурировать babel-loader?
ERROR in ./node_modules/babel-loader/lib?{"cacheDirectory":true,"presets":[["env",{"modules":false,"targets":{"browsers":["> 2%"],"uglify":true}}]],"plugins":["transform-object-rest-spread",["transform-runtime",{"polyfill":false,"helpers":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./resources/js/components/FilterAndShare.vue
Module build failed: SyntaxError: D:/x/resources/js/components/FilterAndShare.vue: 'import' and 'export' may only appear at the top level (144:12)
В первом варианте вебпак почему-то ругается на слово import, что это Unexpected token
Во втором варианте ошибка от вебпака такая: 'import' and 'export' may only appear at the top level
Чтобы из питона поюзать js - напрмер вот https://pypi.org/project/Js2Py/, юзай eval_js().
Но там могут еще подводные камни всплыть, помимо проработки запуска этого js-а, раз такой вопрос задаешь, видимо тебе проще будет на базе Selenium что-то накидать.