放置亚马逊横幅| Angular V4

时间:2017-06-17 16:22:54

标签: javascript angular amazon angular-material2

我将一个亚马逊横幅放在一个角度材料2卡内。但问题是它没有渲染。它显示空div。可能是什么原因.Below是显示我是如何做到的代码。

<md-card class="full-width full-height border-box ">
    <div class="adv">
        <script type="text/javascript" language="javascript">
            var aax_size = '728x90';
            var aax_pubname = 'XXXXXXXXXXX';
            var aax_src = '302';
          </script>
          <script type="text/javascript" language="javascript" src="http://c.amazon-adsystem.com/aax2/assoc.js"></script>
    </div>
  </md-card>

我还尝试使用属性绑定

绑定它
<span [innerHTML]="advertisement()"></span>
advertisement(){
  return `<div class="adv">
        <script type="text/javascript" language="javascript">
            var aax_size = '728x90';
            var aax_pubname = 'XXXXXXXXXXX';
            var aax_src = '302';
          </script>
          <script type="text/javascript" language="javascript" src="http://c.amazon-adsystem.com/aax2/assoc.js"></script>
    </div>`;

}

我还尝试在我的卡片中动态添加div,它显示在div内部,但横幅没有出现。下面是显示我是如何做到这一点的代码。

ngAfterViewInit() {
    let x: HTMLElement = document.getElementById('adv');
    let s: HTMLScriptElement = document.createElement('script');
    s.type = 'text/javascript';
   // s.language = 'javascript';
    let code = `var aax_size = '728x90';
                var aax_pubname = 'XXXXXXX';
                var aax_src = '302';`;
    let src = document.createElement('script');
    src.type = 'text/javascript';
   // src.language = 'javascript';
    src.src = 'http://c.amazon-adsystem.com/aax2/assoc.js';             
    try {
        s.appendChild(document.createTextNode(code));
        x.appendChild(s);
        x.appendChild(src);
    } catch (e) {
        s.text = code;
        document.body.appendChild(s);
    }
    console.log(x);
}

1 个答案:

答案 0 :(得分:1)

在删除SO中关于或类似于此问题的每个帖子之后,我没有找到任何解决方案。我几乎跟踪了这些帖子中的所有内容,但没有任何内容对我有效。之后我遇到了postscribe库是否外部加载任何第三方脚本。

首先我安装了库并将其导入我的组件

import * as postscribe from 'postscribe';

之后,我所做的就是在我的ngAfterViewInit函数中调用一个函数,方法是将divid一起定位,在我的情况下是adv并传递{ {1}}作为此函数的第二个参数。

script

通过这样做,我的横幅被加载了。