Редактирование кода

Поддержка
  • @Fox все же почти получилось победить. там действительно нужно пропустить код через компрессор. однако, почему-то с помощью экшена выполнить код не получается заменить все ненужные пробелы...
    было:

    ...</tbody></table></td> </tr> </tbody></table> </div> </body></html>
    

    стало:

    </tbody></table></td></tr></tbody></table></div> </body></html>
    

    в некоторых местах почему-то пробел не удалился, что мешает корректной замене кода на странице.
    Выполнял замену таким образом:

    [[SHABLON_PAGE_HTML_REPLACE]]=[[SHABLON_PAGE_HTML]].replace(/\"\n"/g,"");
    [[SHABLON_PAGE_HTML_REPLACE]]=[[SHABLON_PAGE_HTML_REPLACE]].replace(/\"\t"/g,"");
    [[SHABLON_PAGE_HTML_REPLACE]]=[[SHABLON_PAGE_HTML_REPLACE]].replace(/\> </g,"><");
    [[SHABLON_PAGE_HTML_REPLACE]]=[[SHABLON_PAGE_HTML_REPLACE]].replace(/\>&nbsp;</g,"><");
    [[SHABLON_PAGE_HTML_REPLACE]]=[[SHABLON_PAGE_HTML_REPLACE]].replace(/"/g,'\\"');
    

    Может есть способ более надежный, не подскажешь?

  • @Alstellar said in Редактирование кода:

    @Fox все же почти получилось победить. там действительно нужно пропустить код через компрессор. однако, почему-то с помощью экшена выполнить код не получается заменить все ненужные пробелы...
    было:

    ...</tbody></table></td> </tr> </tbody></table> </div> </body></html>
    

    стало:

    </tbody></table></td></tr></tbody></table></div> </body></html>
    

    в некоторых местах почему-то пробел не удалился, что мешает корректной замене кода на странице.
    Выполнял замену таким образом:

    [[SHABLON_PAGE_HTML_REPLACE]]=[[SHABLON_PAGE_HTML]].replace(/\"\n"/g,"");
    [[SHABLON_PAGE_HTML_REPLACE]]=[[SHABLON_PAGE_HTML_REPLACE]].replace(/\"\t"/g,"");
    [[SHABLON_PAGE_HTML_REPLACE]]=[[SHABLON_PAGE_HTML_REPLACE]].replace(/\> </g,"><");
    [[SHABLON_PAGE_HTML_REPLACE]]=[[SHABLON_PAGE_HTML_REPLACE]].replace(/\>&nbsp;</g,"><");
    [[SHABLON_PAGE_HTML_REPLACE]]=[[SHABLON_PAGE_HTML_REPLACE]].replace(/"/g,'\\"');
    

    Может есть способ более надежный, не подскажешь?

    Должна сработать простая регулярка

    \s+
    

    проще всего использовать модуль "регулярные выражения", действие "Заменить строку"

    50859fdb-fae8-4af8-9a49-26c4be8597bc-изображение.png

    Тестовый скрипт

  • @Fox совет с регулярками сработал, спасибо, с помощью них подогнал код 1в1 с тем, что получается после компрессии. Возникла другая проблема теперь - в скрипте так и не выполняется замена кода. Однако, если я получившийся после преобразований код выведу в лог, скопирую его оттуда и вставлю в переменную - в таком случае замена срабатывает. Не понимаю, из-за чего подобное может быть

  • @Alstellar said in Редактирование кода:

    @Fox совет с регулярками сработал, спасибо, с помощью них подогнал код 1в1 с тем, что получается после компрессии. Возникла другая проблема теперь - в скрипте так и не выполняется замена кода. Однако, если я получившийся после преобразований код выведу в лог, скопирую его оттуда и вставлю в переменную - в таком случае замена срабатывает. Не понимаю, из-за чего подобное может быть

    Скорее всего в переменной у вас массив, а регулряные выражения работают со строками

  • @Fox а как можно этот массив в одну строку объединить? совсем голова под вечер не соображает... экшен Объединить в строку не работает

  • @Fox просто даже разница в том, что если я копирую код с онлайн компрессора руками - в текстовый файл сохраняется одной строкой код...если все тоже самое делаю в басе - сохраняется многострочный код

    P.S. просто удалил "переносы" строк и всё заработало =)

  • @Alstellar said in Редактирование кода:

    P.S. просто удалил "переносы" строк и всё заработало =)

    На будущее, проще всего помочь решить проблему будет если вы приложите тестовый скрипт. Это избавит других пользователей от необходимости гадать

  • @Fox понимаю, что так проще, но данная часть скрипта доступна лишь после авторизации и ещё пары манипуляций, завязанных на предыдущих данных... Не представлялось возможным выделить лишь необходимую часть скрипта и кода сайта

  • @Alstellar said in Редактирование кода:

    @Fox понимаю, что так проще, но данная часть скрипта доступна лишь после авторизации и ещё пары манипуляций, завязанных на предыдущих данных... Не представлялось возможным выделить лишь необходимую часть скрипта и кода сайта

    Ну вы столкнулись с проблемой замены текста, тестовый скрипт можно было сделать просто сохранив код страницы и описав, что вы хотите из него получить

  • @Fox добрый вечер!
    К сожалению, моя старая проблема вернулась и на этот раз все мои костыли здесь бессильны... Помоги, пожалуйста.

    Суть такая - необходимо вставить html-шаблон в поле ввода. Полный код шаблона задаю переменной в одну строку - выполнение js на элементе поля ввода просто молча ничего не делает. Если я копирую значение заданной переменной с кодом, полезу в код руками прямо на той же странице и вставлю его - все работает.

    Раньше банально помогало пропустить исходный код шаблона через определенный компрессор, но он накрылся, а работоспособной альтернативы для конкретного проекта так и не нашел.

    Пример скрипта прилагаю (нужна гугл почта)
    Тест_шаблон.xml