Vue JS удаляет тег сценария при компиляции - PullRequest
0 голосов
/ 19 декабря 2018

Я новичок в 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 или что-то подобное, но мне нужно запустить этот сценарий.

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

Спасибо!:)

Ответы [ 2 ]

0 голосов
/ 25 апреля 2019

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

<template>
    <script></script>
</template>
0 голосов
/ 19 декабря 2018
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);
}  

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

...