【问题标题】:Loading an External Script From AD Partner in ReactJS在 ReactJS 中从 AD 合作伙伴加载外部脚本
【发布时间】:2021-09-04 02:43:36
【问题描述】:

我尝试在我的 react 网站上实现一个广告横幅,但我在渲染它时遇到了一些问题,因为它都在一个脚本标签中。

我试过这样做:

 <div dangerouslySetInnerHTML={{ __html: `
  <script type="text/javascript">
  atOptions = {
      'key' : '2b47258bf05eeeee270c27002378ce03',
      'format' : 'iframe',
      'height' : 250,
      'width' : 300,
      'params' : {}
  };
  document.write('<scr' + 'ipt type="text/javascript" src="http' + (location.protocol === 'https:' ? 's' : '') + '://www.variouscreativeformats.com/2b47258bf05eeeee270c27002378ce03/invoke.js"></scr' + 'ipt>');
</script>
  ` }} />

但横幅未在网站上呈现(代码显示在检查器中)。

有什么简单的解决办法吗?

【问题讨论】:

    标签: javascript html reactjs ads


    【解决方案1】:

    我在不使用 React 库的情况下使用 Google Maps 进行了类似的工作。因此,基于this tutorial,您可以尝试创建一个特定的广告组件,然后将该组件包含在您的应用中。

    export default function AdViewer() {
    
      const atOptions = {
        key : '2b47258bf05eeeee270c27002378ce03',
        format : 'iframe',
        height : 250,
        width : 300,
        params : {}
      };
    
      useEffect(() => {
      
        const adEl = document.createElement('script');
      
        const type = location.protocol === 'https:' ? 's' : '';
    
        const href = `http${type}://www.variouscreativeformats.com/2b47258bf05eeeee270c27002378ce03/invoke.js`;
    
        adEl.src = href;
        
        window.document.body.appendChild(adEl);
    
      }, []);
    
    }
    

    【讨论】:

    • 谢谢!有点愚蠢的问题要问,但是如何在页面上呈现它?我想把广告放在两个 标签之间。
    • 好吧,假设它有效,导入组件,然后&lt;Block&gt;&lt;AdViewer /&gt;&lt;/Block&gt;。我自己无法对其进行测试,但根据教程中的代码,它应该 可以工作。如果没有,我会删除答案。
    猜你喜欢
    • 1970-01-01
    • 2019-11-05
    • 2017-07-27
    • 2014-11-26
    • 1970-01-01
    • 2015-10-28
    • 2020-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多