【发布时间】:2018-01-15 15:03:49
【问题描述】:
在我们的项目中,我们之前一直在使用 Thymeleaf,但现在我们正在迁移到 Vue.js,我们在使用相同的广告脚本时遇到了一些问题。脚本看起来像这样。我只更改了 URL。
<script data-adfscript="sub.adcompany.net/asdf/?id=256746"></script>
<script src="//sub.adcompany.net/url/to/advertisement/script.js" async="async" defer="defer"></script>
如果我们将这些标签放在<template> 中,Webpack 会给出以下消息:
模板应该只负责将状态映射到 UI。 避免在模板中放置带有副作用的标签,例如 ,因为它们不会被解析。
所以我一直在谷歌上搜索一个类似的案例。有一些插件可以为 Google Ads 执行此操作,但它们不适用于我们。转义脚本标签<\/script> 以某种方式起作用,但是直到加载 after 后脚本才会添加到 DOM,因此它不会运行。
有没有人遇到过类似的问题?如果是这样,您的解决方案是什么?
Vue 文件看起来像这样:
<template>
<aside class="sidebar-ad ui-wide">
<script data-adfscript="sub.adcompany.net/asdf/?id=256746"></script>
<script src="//sub.adcompany.net/url/to/advertisement/script.js" async="async" defer="defer"></script>
</aside>
</template>
<script>
export default {
data () {
return {}
}
}
</script>
【问题讨论】:
-
将这些脚本添加到您的 index.html 文件中
-
是的,我可以这样做,但是我必须编写一个脚本,将广告移动到我需要的位置。我想避免。
-
哦……你也有那个实现……
-
嘿,你有没有让这个工作?我现在在同一条船上,找不到好的解决方案。
-
不,很遗憾没有。我最终将广告放在 Vue 代码之外,因为我没有时间或资源来继续寻找好的解决方案。
标签: javascript html webpack vue.js