放置亚马逊横幅 | AngularV4
Placing Amazon Banner | Angular V4
我在 angular material 2 card.But 中放置了一个亚马逊横幅,问题是它不是 rendering.It 显示空 div.What 可能是 reason.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 中,但横幅没有 appear.Below 代码显示了我是如何做到的。
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);
}
在 SO 中关于或类似这个问题的每个 post 废弃后,我没有找到 this.I 的任何解决方案遵循那些 post 中的几乎所有内容,但没有任何工作用于 me.After 我遇到了 postscribe 库,它可以从外部加载任何第三方脚本。
首先我安装了库并将其导入到我的组件中
import * as postscribe from 'postscribe';
在那之后,我所做的就是在我的 ngAfterViewInit
函数中调用一个函数,方法是将 div
和它的 id
作为目标,在我的例子中是 adv
并通过script
作为此函数的第二个参数。
ngAfterViewInit() {
postscribe('#adv', `<script type="text/javascript" language="javascript">
var aax_size='728x90';
var aax_pubname = 'XXXXXXXX';
var aax_src='302';
</script>
<script type="text/javascript" language="javascript" src="http://c.amazon-adsystem.com/aax2/assoc.js"></script>`);}
这样我的横幅就加载好了。
我在 angular material 2 card.But 中放置了一个亚马逊横幅,问题是它不是 rendering.It 显示空 div.What 可能是 reason.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 中,但横幅没有 appear.Below 代码显示了我是如何做到的。
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);
}
在 SO 中关于或类似这个问题的每个 post 废弃后,我没有找到 this.I 的任何解决方案遵循那些 post 中的几乎所有内容,但没有任何工作用于 me.After 我遇到了 postscribe 库,它可以从外部加载任何第三方脚本。
首先我安装了库并将其导入到我的组件中
import * as postscribe from 'postscribe';
在那之后,我所做的就是在我的 ngAfterViewInit
函数中调用一个函数,方法是将 div
和它的 id
作为目标,在我的例子中是 adv
并通过script
作为此函数的第二个参数。
ngAfterViewInit() {
postscribe('#adv', `<script type="text/javascript" language="javascript">
var aax_size='728x90';
var aax_pubname = 'XXXXXXXX';
var aax_src='302';
</script>
<script type="text/javascript" language="javascript" src="http://c.amazon-adsystem.com/aax2/assoc.js"></script>`);}
这样我的横幅就加载好了。