Media.net广告与SPA(angularjs)的集成



如何在SPA(angularjs(网站中集成media.net广告。我已经在我的网站上复制并发布了给定的代码,但它不起作用(http://test.website.paperboy.com/)。

<script id="mNCC" language="javascript">
medianet_width = "728";
medianet_height = "90";
medianet_crid = "xyz";
medianet_versionId = "xyz";
</script>
<script src="//contextual.media.net/nmedianet.js?cid=xyz"></script>

但它适用于非角度静态站点(https://test.website.paperboy.com/mobile-view.html)。

我不能代表angularjs,但Angular 2及以后的版本会清除脚本标记。这是Angular 8的解决方案。注意,这是针对异步广告代码,而不是发布的同步代码,但方法应该与我们添加DOM元素的方法相同:

.ts文件:

convertToScript() {
var element = this.script.nativeElement;
var script = document.createElement('script');
script.id = 'mNCC';
script.lang = this.language ? this.language : 'javascript';
script.type = this.type ? this.type : 'text/javascript';
script.innerHTML = `
try {
window._mNHandle.queue.push(function (){
window._mNDetails.loadTag(${this.advertisement});
});
}
catch (error) {}`;
script['data-cfasync'] = 'false';
const parent = element.parentElement;
parent.parentElement.replaceChild(script, parent);
}
ngAfterViewInit() {
this.convertToScript();
}

.html文件:

<div #script style.display="none">
<ng-content></ng-content>
</div>

将组件添加到您想要的位置(在此处插入广告大小和id(

<div id="616415456">
<app-media-net-ad [type]="'text/javascript'" [advertisement]="advertisement"> 
</app-media-net-ad>
</div>

广告变量应格式化为";ad_id,ad_size,ad_id";。头代码可以添加到index.html文件的头部分。

最新更新