Vue JS在编译时正在删除脚本标签

时间:2018-12-19 14:47:59

标签: javascript vue.js vue-cli vue-cli-3

我是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 :(得分: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);
}  

尝试这个,希望对您有帮助

答案 1 :(得分:0)

只需将脚本标签嵌入模板标签中即可。因此,VueJ不会删除这些脚本标签

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