Syntax error at line 527 while loading: expected ';', got 'cite'
ion(index,item){let cite=$(item).find('c
--------------------^ Linked script compilation minified_c0b58748d7d17e7427399b1420addf45.js
Syntax error at line 17 while loading: expected ')', got <invalid token>
tHTML("beforebegin",`<div id="qr-button-
--------------------^ Linked script compilation minified_0f946194ca64e53d6c890807ebfafdeb.js
Uncaught exception: TypeError: 'Object.assign' is not a function
Error thrown at line 1152, column 8 in <anonymous function>() in https://lingvoforum.net/pup.dev.js:
PUP.vendors[redactor2[i]] = Object.assign(
called from line 10, column 2 in https://lingvoforum.net/pup.dev.js:
(function () { Inline script thread index.php:1152
Uncaught exception: ReferenceError: Undefined variable: smc_Editor
Error thrown at line 2726, column 3 in https://lingvoforum.net/index.php?topic=107124.msg3820993;topicseen:
var oEditorHandle_quickReply = new smc_Editor({ Inline script thread index.php:2726
Uncaught exception: ReferenceError: Undefined variable: QuickReply
Error thrown at line 2761, column 3 in https://lingvoforum.net/index.php?topic=107124.msg3820993;topicseen:
var oQuickReply = new QuickReply({ Inline script thread index.php:2761
Uncaught exception: ReferenceError: Undefined variable: QuickModify
Error thrown at line 2807, column 4 in https://lingvoforum.net/index.php?topic=107124.msg3820993;topicseen:
var oQuickModify = new QuickModify({ Inline script thread index.php:2807
Uncaught exception: ReferenceError: Undefined variable: smc_PopupMenu
Error thrown at line 2893, column 1 in <anonymous function>() in https://lingvoforum.net/index.php?topic=107124.msg3820993;topicseen:
var user_menus = new smc_PopupMenu(); Event thread: DOMContentLoaded index.php:2893
Uncaught exception: TypeError: Cannot convert 'e.matches||e.msMatchesSelector||e.webkitMatchesSelector' to object
Error thrown at line 2, column 63393 in <anonymous function: S.readyException>() in https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js:
throw e
Error initially occurred at line 3, column 4912 in Ue(e, t) in https://lingvoforum.net/Themes/default/scripts/jquery.sceditor.bbcode.min.js?smf212_1656926902:
return e&&e.nodeType===Ce?(e.matches||e.msMatchesSelector||e.webkitMatchesSelector).call(e,t):n
called from line 3, column 2293 in De(e, t) in https://lingvoforum.net/Themes/default/scripts/jquery.sceditor.bbcode.min.js?smf212_1656926902:
if(!t||Ue(n,t))
called from line 3, column 138252 in <anonymous function: create>(e, t) in https://lingvoforum.net/Themes/default/scripts/jquery.sceditor.bbcode.min.js?smf212_1656926902:
t=t||{},De(e,".sceditor-container")||(t.runWithoutWysiwygSupport||yt)&&new on(e,t)
called from line 2621, column 4 in <anonymous function>() in https://lingvoforum.net/index.php?topic=107124.msg3820993;topicseen:
sceditor.create(textarea, {
called via Function.prototype.apply() from line 2, column 60028 in <anonymous function: then>() in https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js:
if((e=a.apply(n,r))===o.promise())
called from line 2, column 60663 in <anonymous function: then>() in https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js:
e()
Ну, как и ожидалось: полифиллов для старичков-браузеров под XP, которые из коробки умели делать то, что не снилось современным супернавороченным, обвешанным аддонами и плагинами, решили не завозить.
Цитата: Bhudh от июля 4, 2022, 12:38Ну, как и ожидалось: полифиллов для старичков-браузеров под XP, которые из коробки умели делать то, что не снилось современным супернавороченным, обвешанным аддонами и плагинами, решили не завозить.
А что конкретно не работает? Придется тебе самому эти полифиллы делать :)
Цитата: RawonaM от июля 4, 2022, 12:49А что конкретно не работает?
ECMAScript 6 не работает.
Цитата: RawonaM от июля 4, 2022, 12:49Придется тебе самому эти полифиллы делать :)
То есть ты предлагаешь написать собственный SMF 2.1.2, только для XP?
Просто чтобы возможности этой версии сравнялись со старой?
Нет, если мне на форуме никто больше не рад (кому нужет флудер с внезапно проснувшейся политсовестью?), мне теперь есть куда уйти.
Цитата: Bhudh от июля 4, 2022, 13:08ЦитироватьА что конкретно не работает?
ECMAScript 6 не работает.
Сообщения читаешь и отправляешь, зачем тебе этот 6?
Цитата: Bhudh от июля 4, 2022, 13:08То есть ты предлагаешь написать собственный SMF 2.1.2, только для XP?
Просто чтобы возможности этой версии сравнялись со старой?
Нет, если мне на форуме никто больше не рад (кому нужет флудер с внезапно проснувшейся политсовестью?), мне теперь есть куда уйти.
На форуме рады, но мы не можем, да и весь мир не может, из-за твоего нежелания переходить на новую ОС оставаться на старых версиях софта, которые могут иметь уязвимости. Это даже противоречит закону. Сколько еще лет на ХР собираешься сидеть?
Для Bhudh-a можно попробовать найти тему другую, но тоже не уверен в успехе. https://custom.simplemachines.org/index.php?action=themes
Цитата: zwh от июля 4, 2022, 13:25Да, нашел в выпадающем меню. А почему кнопки вставки вспомогательных тэгов в поле ввода поста у меня не работают? Тоже из-за ХР?
Наверное, но у меня нет старого браузера потестить. А что еще на ХР не работает?
Цитата: RawonaM от июля 4, 2022, 13:13Сообщения читаешь и отправляешь, зачем тебе этот 6?
Это не мне зачем, это тебе зачем.
Opera Presto не поддерживает нововведений, введённых в JavaScript в 2015 году.
И я, кстати, посмотрел на файлы, вызывающие две первые ошибки. Это просто смешно. ВО ВСЁМ файле в функциях стоит [tt]
var[/tt]. Но: потребовалось, видимо, дописать одну-единственную функцию для новой версии, и посадили джуниора, которого учили, что [tt]var[/tt] это дико устарело и несекьюрно, везде надо писать [tt]let[/tt], и он в скрипт, напичканный [tt]var[/tt]ʼами, впихнул:
{$('blockquote').each(function(index,item){let cite=$(item).find('cite').first();let quote_height=parseInt($(item).height());if(quote_height<smf_quote_expand)
return;$(item).css({'overflow-y':'hidden','max-height':smf_quote_expand+'px'});let anchor=$('<a/>',{text:' ['+smf_txt_expand+']',class:'expand'});if(cite.length)
И тремя [tt]let[/tt]ʼами полностью сломал обратную совместимость.
Обычно за такое выдирают руки из жопы, откуда они растут, и кое-как пытаются приделать к плечам. Но в SMF мальчика погладили по головке и выкатили сверкающую новым, стильным, молодёжным джаваскриптом версию в релиз.
И, видимо, тот же мальчик дописал одну-единственную строчку в другом файле, похваляясь, как он умеет в шаблонные строки:
document.getElementsByClassName('sceditor-container')[0].insertAdjacentHTML("beforebegin",`<div id="qr-button-container">
</div>`);
Несмотря на то, что ни одного шаблона в этой строке нет. Но надо ж выпендриться!
Кстати, а куда делся [tt] из BB-кодов?
Цитата: RawonaM от июля 4, 2022, 13:16(https://images.lingvoforum.net/images/2022/07/04/EKRANA-2022-07-04-O-13.15.46.md.png) (https://images.lingvoforum.net/image/i3qma)
Цитата: RawonaM от июля 4, 2022, 13:13Сообщения читаешь и отправляешь, зачем тебе этот 6?
Зачем тебе это меню на EcmaScript 6? Читай сообщения и отправляй.
Если у меня эта менюшка не работает — и ты не пользуйся.
Кстати, ещё из смешного. Вот я печатаю — и на
каждую нажатую клавишу, на
каждый клик мышки в поле ввода в консоли вылетает ошибка.
Потому, что в коде стоит:
onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onchange="storeCaret(this);"
А функция storeCaret вызывает эксепшн:
Цитата: Uncaught exception: ReferenceError: Undefined variable: storeCaret
Совмещение EcmaScript 6 и
on-атрибутов, депрекэйтед в HTML5, выглядит особенно забавно. Будто шаблон страницы писали деды из 90-х, а скрипты джуниоры из 2020-х.
Цитата: Bhudh от июля 4, 2022, 13:42Обычно за такое выдирают руки из жопы, откуда они растут, и кое-как пытаются приделать к плечам. Но в SMF мальчика погладили по головке и выкатили сверкающую новым, стильным, молодёжным джаваскриптом версию в релиз.
SMF это non-profit organization. Кстати зовут к себе людей, вот кроме критики ты умеешь что-нибудь делать? Даже без особых обязательств, код SMF доступен на гитхабе и туда можно коммитить, если примут, выйдет в следущей версии.
Цитата: Bhudh от июля 4, 2022, 13:42Зачем тебе это меню на EcmaScript 6? Читай сообщения и отправляй.
Если у меня эта менюшка не работает — и ты не пользуйся.
А у меня все работает, зачем мне не пользоваться. Можно просто ссылки в закладки закинуть.
Цитата: Bhudh от июля 4, 2022, 13:42Совмещение EcmaScript 6 и on-атрибутов, депрекэйтед в HTML5, выглядит особенно забавно. Будто шаблон страницы писали деды из 90-х, а скрипты джуниоры из 2020-х.
Т.к. SMF чисто волонтерская организация, там в коде много чего странно. Да и в обычных в общем не всегда лучше. Переписывать заново никто не будет.
Цитата: RawonaM от июля 4, 2022, 13:51Даже без особых обязательств, код SMF доступен на гитхабе и туда можно коммитить, если примут, выйдет в следущей версии.
У величайшему сожалению, GitHub на XP тоже не работает. В любом браузере.
Да и вопрос ещё, как долго он будет работать в России.
Но по коду я вижу, что нормального тимлидера и ревью-коммитера в нон-профит-команде тоже нет, иначе не появлялись бы 3 letʼа в тонне varʼов, хоть какое-то однообразие кода ведь необходимо соблюдать?
А как лет-ы сломали код?
Цитата: Bhudh от июля 4, 2022, 13:42Opera Presto не поддерживает нововведений, введённых в JavaScript в 2015 году.
То есть, если руками поправить - заработает?
А что предлагается поправить руками и как?
Это же не какая-то отдельная функция, которую можно переписать, это ключевое слово языка, а когда интерпретатор видит незнакомый токен, он просто не исполняет ничего после него.
https://en.wikipedia.org/wiki/EcmaScript#6th_Edition_–_ECMAScript_2015
Ну заменить лет варом? Не помню, в чем разница.
Я это и предлагаю. Заменить 3 неведомо как попавших лета на 3 вара, как во всём остальном гигантском скрипте.
Но мне предлагают поменять самому, хотя я как бы доступа к админке не имею :donno:.
RawonaM, ты, кстати, понимаешь, что я сейчас все тэги пишу руками? Именно из-за тех трёх letʼов? У меня нет никаких кнопочек ни в быстром ответе, ни в полном.
Цитата: Bhudh от июля 4, 2022, 14:26RawonaM, ты, кстати, понимаешь, что я сейчас все тэги пишу руками? Именно из-за тех трёх letʼов? У меня нет никаких кнопочек ни в быстром ответе, ни в полном.
Мозиллу поставьте, там все кнопочки будут на месте.
Цитата: Bhudh от июля 4, 2022, 14:26RawonaM, ты, кстати, понимаешь, что я сейчас все тэги пишу руками? Именно из-за тех трёх letʼов? У меня нет никаких кнопочек ни в быстром ответе, ни в полном.
Мне довольно сложно тебе помочь, что бы я ни понимал. Предложи решение.
Цитата: Andrey Lukyanov от июля 4, 2022, 14:29Мозиллу поставьте, там все кнопочки будут на месте.
Поставьте себе BSD, это самая удобная операционная система на свете.
Цитата: Bhudh от июля 4, 2022, 14:21Я это и предлагаю. Заменить 3 неведомо как попавших лета на 3 вара, как во всём остальном гигантском скрипте.
Но мне предлагают поменять самому, хотя я как бы доступа к админке не имею :donno:.
А вот. В каком файле?
Цитата: RawonaM от июля 4, 2022, 14:30Мне довольно сложно тебе помочь, что бы я ни понимал. Предложи решение.
Не понимаю. Ты не имеешь доступа к исходному коду? Не можешь три штуки "let " заменить на три штуки "var " и две штуки "`" заменить на две штуки """? (Ну, в последнем надо будет ещё совершенно ненужный перенос убрать, но это мелочи.)
А
полифилл для Object.assign лежит на сайте MDN (https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Object/assign#polyfill) с момента существования этой функции.
Цитата: RawonaM от июля 4, 2022, 14:32В каком файле?
Не знаю, Получаемый с сервера файл скомпилен, о чём сразу и оповещает:
/* Any changes to this file will be overwritten. To change the content
of this file, edit the source files from which it was compiled. */
Но поиск по тексту, надеюсь, работает?
Цитата: Bhudh от июля 4, 2022, 14:30Поставьте себе BSD, это самая удобная операционная система на свете.
Поставил. Что дальше?
И я поставил Firefox, что дальше?
Все возможные настройки у меня сохранены в другом браузере, импорта из которого в FF нет.
Цитата: Bhudh от июля 4, 2022, 14:56И я поставил Firefox, что дальше?
Все возможные настройки у меня сохранены в другом браузере, импорта из которого в FF нет.
Так уж много настроек для Лингвофорума?
Предлагаете открывать FF только для LF?
Сейчас я его открываю в основном для более технологичных сайтов, вроде YouTube и различных карт.
Цитата: Bhudh от июля 4, 2022, 15:19Предлагаете открывать FF только для LF?
Сейчас я его открываю в основном для более технологичных сайтов, вроде YouTube и различных карт.
На старых системах это обычное дело — приходится использовать две разные программы там, где на более новых одна справляется.
Цитата: Andrey Lukyanov от июля 4, 2022, 15:27На старых системах это обычное дело — приходится использовать две разные программы там, где на более новых одна справляется.
Покажите, как справляется FF с юзерскриптами, если на него не поставить
ещё одну программу в виде плагина.
Цитата: Bhudh от июля 4, 2022, 15:28Покажите, как справляется FF с юзерскриптами, если на него не поставить ещё одну программу в виде плагина.
Никогда не интересовался никакими юзерскриптами.
Сделал эти четыре замены.
Все картинки отвалились. На греческих уроках картинки отвалились давно, никто их не восстанавливал.
С этими картинками так же будет?
Цитата: RawonaM от июля 4, 2022, 16:05Сделал эти четыре замены.
Спасибо.
Теперь ошибку вызывает только Object.assign из https://lingvoforum.net/pup.dev.js.
Я скачал себе этот файл, вставил полифилл прямо перед циклом с вызовом (ещё, блин, и вложенным) этой функции и ошибка в тестовом html исчезла.
Цитата: Bhudh от июля 4, 2022, 16:39Цитата: RawonaM от июля 4, 2022, 16:05Сделал эти четыре замены.
Спасибо.
Теперь ошибку вызывает только Object.assign из https://lingvoforum.net/pup.dev.js.
Я скачал себе этот файл, вставил полифилл прямо перед циклом с вызовом (ещё, блин, и вложенным) этой функции и ошибка в тестовом html исчезла.
А ведь этот файл не изменился, он такой же как и был вроде, раньше работало?
Ты можешь этот полифилл юзерскриптом добавить?
Юзерскрипт отрабатывает после исполнения (или неисполнения) основных скриптов.
В тестовом файле закомментил полифилл, кнопочки не исчезли.
Но вообще да, pup это Chevereto Popup Upload Plugin, а он у меня и так не работал (видимо, как раз из-за Object.assign и Math.trunc).
Кстати, у меня кнопочки не появились, так как я немного напутал — косые кавычки ` надо было заменить на одинарные ', а не двойные ".
С двойными может вообще у всех поломаться.
Chevereto это вообще истинно ES6-ный сайт, так что и пофиг на этот pup.dev.js.
Тестовый файл с исправленными ошибками:
(http://puu.sh/J9pFj.png)
Быстрый ответ:
(http://puu.sh/J9pG6.png)
Цитата: Bhudh от июля 4, 2022, 16:49Кстати, у меня кнопочки не появились, так как я немного напутал — косые кавычки ` надо было заменить на одинарные ', а не двойные ".
С двойными может вообще у всех поломаться.
Я на одинарные заменил.
Цитата: Bhudh от июля 4, 2022, 16:57Тестовый файл с исправленными ошибками:
(http://puu.sh/J9pFj.png)
Быстрый ответ:
(http://puu.sh/J9pG6.png)
И в чем разница? В смысле ошибки нашел?
Цитата: RawonaM от июля 4, 2022, 17:40В смысле ошибки нашел?
А, так ты ещё не встроил кнопки в быстрый ответ...
Ну, в общем, считай, что в полном то же самое. Пустота вместо кнопок.
У меня
<div class="sceditor-container ltr sourceMode"> просто не появляется.
Видимо, проблема в слишком новом и крутом jQuery 3.6.0 (это самая-самая последняя стабильная версия от 2 марта 2021 года):
Цитата: КонсольUncaught exception: TypeError: Cannot convert 'document.getElementsByClassName('sceditor-container')[0]' to object
Error thrown at line 56, column 1 in loadQR() in https://lingvoforum.net/Themes/default/scripts/minified_a9f4059c7fca5a12a5092c42ed86433d.js?smf212_1656939838:
document.getElementsByClassName('sceditor-container')[0].insertAdjacentHTML("beforebegin", '<div id="qr-button-container"></div>'); Timeout thread: delay 100 ms action,post2.html:56
Uncaught exception: TypeError: Cannot convert 'e.matches || e.msMatchesSelector || e.webkitMatchesSelector' to object
Error thrown at line 1413, column 3 in <anonymous function: S.readyException>() in https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js:
throw e
Error initially occurred at line 140, column 2 in Ue(e, t) in https://lingvoforum.net/Themes/default/scripts/jquery.sceditor.bbcode.min.js?smf212_1656939838:
return e && e.nodeType === Ce ? (e.matches || e.msMatchesSelector || e.webkitMatchesSelector).call(e, t) : n
called from line 66, column 3 in De(e, t) in https://lingvoforum.net/Themes/default/scripts/jquery.sceditor.bbcode.min.js?smf212_1656939838:
if (!t || Ue(n, t))
called from line 2334, column 3 in <anonymous function: create>(e, t) in https://lingvoforum.net/Themes/default/scripts/jquery.sceditor.bbcode.min.js?smf212_1656939838:
t = t || {}, De(e, ".sceditor-container") || (t.runWithoutWysiwygSupport || yt) && new on(e, t)
called from line 2906, column 2 in <anonymous function: sceditor.create>(textarea, options) in https://lingvoforum.net/Themes/default/scripts/minified_02017d31b3b1584a5a63e485594cb24f.js?smf212_1656939838:
createFn(textarea, options);
called from line 398, column 1 in <anonymous function>() in https://lingvoforum.net/index.php/board,343/action,post2.html:
sceditor.create(textarea, {
called via Function.prototype.apply() from line 1355, column 11 in <anonymous function: then>() in https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js:
if ((e = a.apply(n, r)) === o.promise())
called from line 1362, column 11 in <anonymous function: then>() in https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js:
e()
Цитата: https://jquery.com/browser-support/Current Active Support
Desktop
- Chrome: (Current - 1) and Current
- Edge: (Current - 1) and Current
- Firefox: (Current - 1) and Current, ESR
- Internet Explorer: 9+
- Safari: (Current - 1) and Current
- Opera: Current
"Opera: Current" следует понимать как "Opera: Chrome-clon".
Цитата: Ibid.If you need to support older browsers like Internet Explorer 6-8, Opera 12.1x or Safari 5.1+, use jQuery 1.12.
Я, правда, не понимаю, для чего статичную таблицу кнопок надо втыкать аж целым jQuery, да ещё новейшим. Разве что 1.12 на ойфончиках уже не работает по причине выпиливания всего старого JS из движков.
Хотя, блин, в тестовом файле-то jQuery 3.6.0 работает!
И SCEditor v3.0.0 2017 года табличку исправно вставляет...
Вообще ничего не понимаю, обращение к элементу идёт до его вставки почему-то, что ли?Сорри, я же
<div class="sceditor-container"> руками вставил, а вот скрипт его вставлять не хочет.
Так. Для вставки <div class="sceditor-container"> скриптом в браузере необходима поддержка свойства Element.matches (https://developer.mozilla.org/en-US/docs/Web/API/Element/matches): в SCEditor проверяется его наличие. А нет наличия — нет кнопок.
Цитата: Bhudh от июля 4, 2022, 13:42Совмещение EcmaScript 6 и on-атрибутов, депрекэйтед в HTML5, выглядит особенно забавно. Будто шаблон страницы писали деды из 90-х, а скрипты джуниоры из 2020-х.
Вы или крестик снимите, или трусы наденьте. Не Вам упрекать разработчиков в использовании чего-то устаревшего. :)
А Вы не путайте, я не упрекаю в использовании чего-то устаревшего, я упрекаю в совмещении чего-то устаревшего с чем-то ультрамодерновым, что выглядит гротескно и смешно.
Вы же не носите айфон с привешенным брегетом?
Цитата: Bhudh от июля 5, 2022, 14:48Вы же не носите айфон с привешенным брегетом?
Многие носят айфон и наручные часы. Хотя айфон тоже время показывает.
Руку задрать банально проще, чем вытаскивать айфон из кармана да ещё и включать его. А брегеты использовались именно так: вытаскивались из кармана и на них открывалась крышечка (аналог обложки у смартфона).
А куда опять вставка ника по клику подевалась?
Но раньше она у меня работала, а сейчас её явно переделали на ES6, мне при наведении мышки видно вот это:
(https://puu.sh/Jbmvm.png)
Шоблинтакоә, перехожу в Firefox и вижу кнопочку "куку"!
А в Опере никакой такой кнопочки не вижу!
Под словом никакой подразумевалось "ни нашей, ни вашей".
(https://puu.sh/JbRmi.png)
Вот сейчас специально проверил: чтобы привести нынешние скрипты обратно к работающему у всех варианту, надо исправить 7 мест. Семь. Ровно столько, за сколько погибших в ДНР в 2021 году человек Путин объявил ситуацию в ДНР "геноцидом русского населения".
Это: 1 параметр по умолчанию в объявлении функции.
1 ключевое слово const.
5 ключевых слов let.
Во всех остальных местах стоит ключевое слово var, как стояло 10, 15, 20 лет назад и никому это не мешало.
Про старые браузеры писать сюда.