miniShop2 icon indicating copy to clipboard operation
miniShop2 copied to clipboard

скрипт msnotify.class.js не поддерживает сайты без base директивы

Open rasxod opened this issue 2 years ago • 9 comments

Сообщение об ошибке / Error message

без html base директива не подгружаются скрипты js из msnotify.class.js without html base directive js scripts from msnotify.class.js are not loaded

Резюме / Summary

нужна проверка на наличие директивы need to check for the existence of the directive

Испарвление / Evaporation

image

Environment

Версия miniShop2(4.3.0-pl), версия MODX(2.8.5), включены новые скрипты minishop

rasxod avatar Jul 21 '23 12:07 rasxod

разрешите редактирование скриптов без форка, а то изменения не внести

вот код

    if (this.config.jsPath) {
      const script = document.createElement('script')
      // script.src = this.config.jsPath
      script.src = (document.getElementsByName("base") === true) ? this.config.jsPath : '/'+this.config.jsPath
      script.async = true
      document.body.appendChild(script)
    }

    if (this.config.cssPath) {
      const styles = document.createElement('link')
      // styles.href = this.config.cssPath
      styles.href = (document.getElementsByName("base") === true) ? this.config.cssPath : '/'+this.config.cssPath
      styles.rel = 'stylesheet'
      document.head.appendChild(styles)
    }
    ```

rasxod avatar Jul 21 '23 12:07 rasxod

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

webinmd avatar Jul 27 '23 08:07 webinmd

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

господа... это прям совсем такое... обескуражили...

rasxod avatar Aug 03 '23 22:08 rasxod

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

господа... это прям совсем такое... обескуражили...

если будет прислан PR, то его с удовольствием протестируют и вольют в новую версию

webinmd avatar Aug 04 '23 07:08 webinmd

А если просто в начале путей / указать? Как бы путь будет работать и с //, если будет base указан, и с одним /, если не указан. Или я путаю?

Ruslan-Aleev avatar Aug 04 '23 07:08 Ruslan-Aleev

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

господа... это прям совсем такое... обескуражили...

если будет прислан PR, то его с удовольствием протестируют и вольют в новую версию

PR я так понял пример решения?... то в общем я его прислал чуть выше посмотрите

rasxod avatar Aug 04 '23 07:08 rasxod

А если просто в начале путей / указать? Как бы путь будет работать и с //, если будет base указан, и с одним /, если не указан. Или я путаю?

не очень понял что именно вы хотите...(((

rasxod avatar Aug 04 '23 07:08 rasxod

@rasxod Я про то, что можно задать / без проверки, будет так: script.src = '/' + this.config.jsPath На мой взгляд, даже с //, т.к. если base будет указан, то путь будет таким, условно: https://site.ru//assets/jspath... (2 слеша получится), и все-равно должно работать (если не путаю).

НО, как выше указали, в MODX без base мало что работает, например, вложенные seo-url ломаются, поэтому в целом странно, что вы обратили внимание на эти пути =)

Ruslan-Aleev avatar Aug 04 '23 07:08 Ruslan-Aleev

@rasxod Я про то, что можно задать / без проверки, будет так: script.src = '/' + this.config.jsPath На мой взгляд, даже с //, т.к. если base будет указан, то путь будет таким, условно: https://site.ru//assets/jspath... (2 слеша получится), и все-равно должно работать (если не путаю).

НО, как выше указали, в MODX без base мало что работает, например, вложенные seo-url ломаются, поэтому в целом странно, что вы обратили внимание на эти пути =)

это я пробовал - не работает(

rasxod avatar Aug 04 '23 09:08 rasxod