Vue JS удаляет тег сценария при компиляции

1

Я новичок в Vue.js, и у меня возникла проблема, которую я не могу решить.. Я использую Vue cli 3 и в своем коде я добавляю пользовательский тег (не компонент) в свой шаблон с скрипт скрипт внутри.

<ra type="outstream" pid="888666574" ra_init="open" ra_end="open" skin="dark" hasConsent="1">
    <script type="text/javascript" src="https://s.test.com/script.js"></script>
</ra>

Этот скрипт предназначен для поиска пользовательского тега ra, поэтому должен находиться внутри тега. Проблема в том, что когда я проверяю сайт с помощью devTools, тег ra становится пустым. Я имею в виду, сценарий это не там. Я думаю, что, может быть, Vue удаляет скрипт, чтобы предотвратить XSS или что-то в этом роде, но мне нужно запустить этот скрипт.

Кто-то знает, что происходит?

Спасибо! :)

Теги:
vue.js
vue-cli
vue-cli-3

2 ответа

0
Лучший ответ
mounted() {
  let script = document.createElement('script');
  script.setAttribute('src', 'https://s.test.com/script.js');

  let wrapper = document.createElement('ra');
  wrapper.appendChild(script);
  wrapper.setAttribute('pid','888666574');
  wrapper.setAttribute('ra_init','open');
  wrapper.setAttribute('ra_end','open');
  wrapper.setAttribute('skin','dark');
  wrapper.setAttribute('hasConsent','1');
  document.body.appendChild(wrapper);
}  

Попробуйте это, я надеюсь, это поможет

  • 0
    Я думаю, что это может сработать. Проблема в том, что мне нужно вызывать это после вызова ajax, и мне нужно установить переменную с ответом, чтобы скрипт принимал эту переменную. Может ли работать с установленной функцией?
  • 0
    попробуйте добавить его в пользовательскую функцию и вызвать эту функцию в случае успешного вызова ajax. Я думаю, что это поможет, но если честно, я никогда не пробовал
Показать ещё 4 комментария
0

Просто вставьте теги сценария в тег шаблона. Поэтому VueJs не удаляют эти теги скриптов

<template>
    <script></script>
</template>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню