Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 尝试在vuejs中重新播放广告_Javascript_Vue.js - Fatal编程技术网

Javascript 尝试在vuejs中重新播放广告

Javascript 尝试在vuejs中重新播放广告,javascript,vue.js,Javascript,Vue.js,嘿,我是新来的,所以如果我做了傻事,请不要怪我 是的,我的问题!我有一个vuejs网站,我想在我的网站上放一些广告。所以我创建了一些组件: <template> <div class="ad-wrapper"> <div ref="ad"></div> <div id='div-gpt-ad-1407836229438-0' ref="adGpt"></div> </div> </t

嘿,我是新来的,所以如果我做了傻事,请不要怪我 是的,我的问题!我有一个vuejs网站,我想在我的网站上放一些广告。所以我创建了一些组件:

<template>
  <div class="ad-wrapper">
    <div ref="ad"></div>
    <div id='div-gpt-ad-1407836229438-0' ref="adGpt"></div>
  </div>
</template>

<script>
export default {
  name: 'Ad-top',
  props: {
  },
  components: {
  },
  data() {
    return {
    };
  },
  methods: {
    setAd() {
      const adScript = document.createElement('script');
      adScript.type = 'text/javascript';
      adScript.text = `googletag.cmd.push(function() {
        googletag.defineSlot('/53015287/aniflix.tv_d_970x90_1', [970, 90], 'div-gpt-ad-1407836229438-0').addService(googletag.pubads());

        googletag.pubads().enableSingleRequest();
        googletag.enableServices();
      });`;
      this.$refs.ad.appendChild(adScript);

      const adGptScript = document.createElement('script');
      adGptScript.type = 'text/javascript';
      adGptScript.text = `googletag.cmd.push(function() { googletag.display('div-gpt-ad-1407836229438-0'); });`;
      this.$refs.adGpt.appendChild(adGptScript);
    },
    refreshAd() {
      this.$refs.ad.innerHTML = '';
      this.$refs.adGpt.innerHTML = '';
      this.setAd();
    },
  },
  mounted() {
    this.setAd();

    this.$eventBus.$on('refreshAds', () => {
      this.refreshAd();
    });
  },
  beforeDestroy() {
    this.$eventBus.$off('refreshAds');
  },
};
</script>
但是不起作用
有人有想法吗?

好的,我想出来了,所以谷歌没有清除内部HTML,而是提供了一个刷新属性 所以我就换了

refreshAd() {
      this.$refs.ad.innerHTML = '';
      this.$refs.adGpt.innerHTML = '';
      this.setAd();
    },
与:

refreshAd() {
      this.$refs.ad.innerHTML = '';
      this.$refs.adGpt.innerHTML = '';
      this.setAd();
    },
refreshAd() {
googletag.cmd.push(function() { googletag.pubads().refresh(); });
},